當我編寫:[email protected]
和:[email protected]
時,它們被評估爲:~
和:!
,這也可以通過編寫:~
和:!
來實現。這些表達式是如何分析的,以及@
去哪裏了?`:〜@`和`:!@`解析?
7
A
回答
1
這與解析器中的優先級有關。一個簡單的衝刺擊敗結腸手段 - 一個符號語法,太:
2.1.2 :004 > c = :test-thing
NameError: undefined local variable or method `thing' for main:Object
這是很容易解決的,雖然:儘量:'[email protected]'
,
(當然,如果你能避免產生這樣的一個奇怪的符號在你的代碼中,這可能是一個更好的主意......)
+1
如果這樣解析,那麼沒有問題。問題在於它被靜靜地解析爲另一件事。而且,這不是一個奇怪的符號。它是一個方法名稱,它也應該是這種方法的方法定義的返回值。 – sawa 2014-11-06 14:49:07
+0
@sawa - 我當然認爲它應該引發一個錯誤,就像在我的'事情'例子中。通過「怪異」我只意味着'@'具有特定的ruby含義,即類屬性的前綴,因此我認爲解析器將它視爲一種特殊情況。 – 2014-11-06 16:00:26
相關問題
- 1. JSON解析[和]
- 2. 解析和Dreamweaver?
- 3. 解析和JAVA
- 4. 解析和Xamarin
- 5. 在C#中解析和驗證解析#
- 6. FsLexYacc。用F#和Leading分析和解析#
- 7. jQuery和JSON解析
- 8. Firebase和swiftyJSON解析
- 9. XML和jQuery解析
- 10. sip解析和庫?
- 11. Android和Json解析
- 12. G2和json解析
- 13. Java和解析XML
- 14. UWP和JSON解析
- 15. 解析和Java中
- 16. Javascript和xml解析
- 17. 解析wsdl和xsd
- 18. XML解析和TreeView
- 19. UITableView和解析 - laggy
- 20. 解析和蟒蛇
- 21. Scala和HTML解析
- 22. PHP和SQL解析
- 23. 解析和Java中
- 24. Xpath和CSS解析
- 25. Android和json解析
- 26. PHP和XML解析
- 27. 解析由CSV「」和‘’
- 28. QNetworkAccessManager和DNS解析
- 29. Xml解析和itext
- 30. jQuery和解析XML
@engineersmnky,我認爲它是指一個符號。 – 2014-10-31 20:08:22
您可能想要注意': - @'按預期工作,但是':!@'不是,而' - @'是一元否定方法,但'!@'不是方法。 – 2014-10-31 20:23:30
根據ruby_parser,它無處可去:'RubyParser.new.parse(「:〜@」)#=> s(:lit,:〜)' – ThomasSevestre 2014-10-31 20:43:46