When I write :~@
and :!@
, they are evaluated to :~
and :!
, which can be achieved also by writing :~
and :!
. How are these expressions parsed, and where did the @
go?
It's to do with precedence in the parser. A simple dash defeats the colon-means-a-symbol syntax, too:
2.1.2 :004 > c = :test-thing
NameError: undefined local variable or method `thing' for main:Object
It's easy enough to work around it, though: try :'~@'
,
(Of course, if you can avoid creating such a weird symbol in your code, that might be a better idea...)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With