所以我在Ruby中玩,并注意到"a""b"
返回"ab"
。如果喜欢这种非常奇怪和无用的东西,那么我想知道这叫什么,如果它有目的。我很感激任何答案。谢谢!
答案 0 :(得分:5)
这称为"string literal concatenation",在许多语言中都很常见。更具体地说,未被任何其他运算符分隔的相邻字符串文字会自动连接在一起。它们可能被认为只是一个字符串文字。
这存在于C,C ++,Python和Ruby中,仅举几例。
可以使用它的一个示例是将长字符串分解为多个谎言,还添加了对每个部分进行注释的功能。我前几天用Python写的东西:
hdr = struct.Struct('<'
'8s' # 0x00 Magic value
'I' # 0x08 Offset
'I' # 0x0C Length
'H' # 0x10 Type
'H' # 0x12 Flags
) # 0x14 (Total)
请注意,此方法只接受一个参数,一个字符串,而且我没有手动连接各个部分。
答案 1 :(得分:0)
我以前从未注意到这一点,这看起来像<<
和+
这种连接形式。