當我編寫:[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. 解析和JAVA
- 3. 解析和Dreamweaver?
- 4. 在C#中解析和驗證解析#
- 5. FsLexYacc。用F#和Leading分析和解析#
- 6. Firebase和swiftyJSON解析
- 7. Scala和HTML解析
- 8. vb.net和HTML解析
- 9. Java和解析XML
- 10. PHP和XML解析
- 11. Javascript和xml解析
- 12. sip解析和庫?
- 13. 解析wsdl和xsd
- 14. Xpath和CSS解析
- 15. XML解析和TreeView
- 16. 解析和刺痛
- 17. PHP和SQL解析
- 18. 解析和在Python
- 19. PHP和XML解析
- 20. UWP和JSON解析
- 21. UITableView和解析 - laggy
- 22. ASIHTTPRequest和ASINetworkQueue和JSON解析
- 23. 回波信息解析和未解析標誌和參數
- 24. 解析XML和Java對象 - 解析屬性和值一起
- 25. 使用DOM分析器解析和編輯HTML解析器
- 26. 使用DOM解析器和SAX解析器進行Android XML解析的區別
- 27. 解析CSV和分析數據
- 28. 使用OCR解析和分析收據
- 29. 解析多個JsonObject和JsonArray
- 30. 文本解析和檢索
@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