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