Reputation: 9600
The Raku docs describe ::?CLASS
as a compile-time variable that answers "Which class am I in?". Then, a couple of paragraphs later, it mentions $?CLASS
, and says that it answers "Which class am I in? (as variable)".
What's the difference between these two variables? They often seem to contain the same value – do they always? Or are there differences I haven't observed?
Upvotes: 8
Views: 138
Reputation: 32424
These two forms of compile-time variables are different syntactically.
The syntactic form ::?foo
may be used as, and will be evaluated as:
A term (just like a variable such as $?foo
).
A type constraint (unlike a variable such as $?foo
).
Upvotes: 8