所以我在Ruby中玩耍时,发现"a""b"
返回"ab"
。如果喜欢这个非常奇怪和无用的东西,所以我想知道这是什么,以及它是否有目的。我会很感激任何答案。谢谢!Ruby中奇怪的字符串行为
0
A
回答
0
我从来没有注意到这一点,这看起来像另一种形式的连接,如<<
和+
。
5
这叫做"string literal concatenation",它在很多语言中都很常见。更具体地说,没有被任何其他操作符分开的相邻字符串文字会自动连接在一起。它们可能被认为只是一个字符串文字。
这存在于C,C++,Python和Ruby中,仅举几例。
- MSDN:String Literal Concatenation(C)
- 词法分析:String literal concatenation(蟒蛇)
- Where is Ruby's string literal juxtaposition feature officially documented?(红宝石)
- 字面 - Strings(红宝石)
情况可能的例子被用来打破一个长串到多个谎言,也增加了评论每件作品的能力。这是我在Python写的一天:
hdr = struct.Struct('<'
'8s' # 0x00 Magic value
'I' # 0x08 Offset
'I' # 0x0C Length
'H' # 0x10 Type
'H' # 0x12 Flags
) # 0x14 (Total)
注意,此方法只需要一个参数,一个字符串,我没有手动拼接的碎片。
相关问题
- 1. 奇怪的堆栈/字符串行为
- 2. C#奇怪的字符串行为?
- 3. 奇怪的字符串拆分行为
- 4. 奇怪的行为与子字符串
- 5. Java字符串的奇怪行为
- 6. sscanf与字符串的奇怪行为
- 7. 奇怪的字符串行为
- 8. Ruby:奇怪的字符串比较断言行为
- 9. 字符的奇怪行为
- 10. ruby File.expand_path奇怪的行为
- 11. utf8字符串中的ruby正则表达式的奇怪行为
- 12. 奇怪的行为:T-sql字符/字符串连接char
- 13. 奇怪的字符串在执行VC++
- 14. 从字符串转换为字节奇怪的行为
- 15. 在切分字符串时Python中的奇怪行为 - 返回空字符串?
- 16. Ruby中的奇怪闭包行为
- 17. 使用SWIG的Java和C++中的奇怪字符串行为
- 18. php一行if语句中字符串奇怪行为
- 19. 奇怪的字符(0010)在字符串
- 20. 在python中替换字符串的奇怪行为
- 21. 在JavaScript中添加带整数字符串的奇怪行为?
- 22. JAVA中空字符串的奇怪行为
- 23. 基本字符串比较中的奇怪行为
- 24. Android/Java中奇怪的字符串数组行为
- 25. 奇怪的行为在字符串匹配算法中
- 26. 字符串内的通配符行为奇怪
- 27. 奇怪的文字编辑在OSX上的Ruby行为。在我的文件中插入奇怪的字符
- 28. 特殊字符的奇怪行为
- 29. 重音字符奇怪的行为 - Rstudio
- 30. 奇怪的“18个字符”LOGBack行为
嗯,这很有趣。这有实际应用吗? – Addison