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的连接,如<<
和+
。