所以我在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