Ruby中的奇怪字符串行为

所以我在Ruby中玩,并注意到"a""b"返回"ab" 。 如果喜欢这种非常奇怪和无用的东西,那么我想知道这叫什么,如果它有目的。 我很感激任何答案。 谢谢!

这称为“字符串文字串联” ,在许多语言中都很常见。 更具体地说,未被任何其他运算符分隔的相邻字符串文字会自动连接在一起。 它们可能被认为只是一个字符串文字。

这仅存在于C,C ++,Python和Ruby中。

  • MSDN: 字符串文字串联 (C)
  • 词法分析: 字符串文字串联 (Python)
  • Ruby的字符串文字并置function在哪里正式记录? (ruby)
  • 文字 – 字符串 (Ruby)

可以使用它的一个示例是将长字符串分解为多个谎言,还添加了对每个部分进行注释的function。 我前几天用Python写的东西:

 hdr = struct.Struct('<' '8s' # 0x00 Magic value 'I' # 0x08 Offset 'I' # 0x0C Length 'H' # 0x10 Type 'H' # 0x12 Flags ) # 0x14 (Total) 

请注意,此方法只接受一个参数,一个字符串,并且我没有手动连接各个部分。

我以前从未注意到这一点,这看起来像是另一种forms的连接,如<<+