Wenn ich :[email protected]
und :[email protected]
schreibe, werden sie zu :~
und ausgewertet, was auch durch Schreiben von :~
und erreicht werden kann. Wie werden diese Ausdrücke analysiert, und wo ist die @
?Wie werden `: ~ @` und `:! @` Geparst?
Antwort
Es ist mit der Präzedenz im Parser zu tun. Ein einfacher Strich besiegt die Doppelpunkt-Mittel-a-Symbol Syntax auch:
2.1.2 :004 > c = :test-thing
NameError: undefined local variable or method `thing' for main:Object
Es ist einfach genug, um ihn zu arbeiten, aber: versuchen :'[email protected]'
,
(Natürlich, wenn Sie eine solche zu schaffen vermeiden können ein seltsames Symbol in Ihrem Code, das könnte eine bessere Idee sein ...)
Wenn es so geparst wird, dann gibt es kein Problem. Das Problem ist, dass es still als eine andere Sache geparst wird. Und es ist kein komisches Symbol. Es ist ein Methodenname und sollte auch der Rückgabewert der Methodendefinition einer solchen Methode sein. – sawa
@sawa - Ich denke, es sollte einen Fehler auslösen, wie in meinem 'Ding' Beispiel. Mit "komisch" meinte ich nur, dass "@" eine bestimmte Ruby-Bedeutung hat, das Präfix für ein Klassenattribut, und als solches stelle ich mir vor, dass der Parser es als Sonderfall behandelt. –
- 1. Wie werden Attribute in Boost.PropertyTree geparst?
- 2. qmake .pro-Datei konnte nicht geparst werden
- 3. Warum kann dieser Fließkommawert doppelt geparst werden?
- 4. Federprofile: Welches <beans> Element sollte geparst werden?
- 5. ImportXML Inhalt kann nicht mit Google Tabellen geparst werden
- 6. imx6 Gerätebaumkompilierung - FATALER FEHLER: Eingabebaum kann nicht geparst werden
- 7. twitter Daten können nicht aus txt Datei geparst werden
- 8. Schnellste Möglichkeit zu prüfen, ob eine Zeichenfolge geparst werden kann
- 9. Plesk api String konnte nicht als XML geparst werden
- 10. Werden Zeichenketten "strings.xml" immer in derselben Reihenfolge geparst/deserialisiert?
- 11. nil.to_json kann nicht zu null zurück geparst werden?
- 12. JSON-String wird nicht korrekt geparst
- 13. Objekt wird nicht in JavaStream gefischt und geparst zurück
- 14. Wie ist Klasse A * A; Deklaration von C++ geparst?
- 15. PHP-Code innerhalb HTML nicht geparst
- 16. Wie man falsche DateTime (Minuten) korrigiert, die mit Jackson/Gson Bibliotheken geparst werden?
- 17. Wie man Daten einstellt, die vom inneren Array des JSON geparst werden
- 18. Wordpress tinymce.js wird als PHP geparst?
- 19. Umgang mit NSDictionary Inhalt von Flickr geparst
- 20. Ist diese JSON-Datei gut geparst?
- 21. Wie kann man ein Modul beenden, bevor es geparst ist?
- 22. Scrapy, bind start_url zu einem bestimmten Parse-Element, so dass sie nacheinander geparst werden können
- 23. JSDoc - Markieren Sie einen Code, um nicht geparst zu werden, aber die Dokumentation beizubehalten?
- 24. Kann eine Sequenz von JSON-Objekten ohne weitere Begrenzer oder deren Länge eindeutig geparst werden?
- 25. java.util.Vector kann nicht in java.util.ArrayList Fehler umgewandelt werden, wenn JSON in Java geparst wird
- 26. JSON wird im Browser geparst, aber nicht von node.js
- 27. Richtiges Rendern von Sonderzeichen in Flash, aus XML geparst und mit PHP/MySQL generiert
- 28. Android Studio meldet "Android SDK wird falsch geparst"
- 29. Warum 'IF' Bedingung für die 0 im Vergleich zu String in PHP wahr? und wie die Zeichenkette als Null geparst?
- 30. Senden von Infopath-Formularen per E-Mail (als Anhang), um von SQL Server 2005 geparst zu werden?
@engineersmnky, ich denke, es bezieht sich auf ein Symbol. –
Sie könnten feststellen, dass ': - @' wie erwartet funktioniert, aber ':! @' Nicht und das '- @' ist die unäre Negationsmethode, aber '! @' Ist keine Methode. –
Nach ruby_parser geht es nirgendwo: 'RubyParser.new.parse (": ~ @ ") # => s (: leuchtet,: ~)' – ThomasSevestre