当我编写:[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