任何人都可以解釋爲什麼一些運算符符號不能直接寫成irb中的符號,而當傳遞給ruby解釋器時它運行沒有任何問題? 它看起來像IRB解析表達式作爲未完成,並用星號提示作爲等待繼續輸入的:失敗在解析IRB - 在操作符的未完成表達式?
irb> test_symbol = :+
irb* ^C
irb> test_symbol = :-
irb* ^C
irb> test_symbol = :*
=> :*
irb> test_symbol = :<
=> :<
其它符號:%
,:&
,:^
,:/
,:|
,:~
。我可以傳遞這些符號作爲字符串,即。 test_symbol = :'+'
但是,這只是解決可能的錯誤的一種解決方法。還是一個功能?
有人可以對此行爲有所瞭解嗎?
'test_symbol =:+'對我使用ruby 2.0.0-p247和irb 0.9.6很好。你使用的是什麼版本的irb? – Zajn
@Zajn 1.9.3-p484。我可以確認它在2.0.0-p353中有效。任何鏈接到現有的bugreport? –