I think the strict answer to 'Is it correct?' is 'No'.
The point being that 'my $x' gives $x type 'Any'.
But practically, having type Any allows for $x to be assigned any value,
be it Str, Int etc.
So 'practically' the answer to 'Is it correct?' is 'Yes'.
On Wednesday, March 22, 2017 02:07 PM, Brad Gilbert wrote:
The default type constraint is Mu, with a default of Any (everything
is of type Mu, and most are of type Any)
You shouldn't be able to change the type constraint of a scalar
container (used for rw variables)
Changing the type of a value, of course makes no sense. (a Str is
always a Str, even when you use it as a number)
Basically no you can't change the type, but you didn't do that anyway.
On Wed, Mar 22, 2017 at 12:59 AM, ToddAndMargo <toddandma...@zoho.com> wrote:
Hi All,
Yes, I know, Perl is "lexiconical".
$ perl6 -e 'my $x="abc"; $x=1E23; print "$x\n";'
1e+23
$ perl6 -e 'my Str $x="abc"; $x=1E23; print "$x\n";'
Type check failed in assignment to $x; expected Str
but got Num (1e+23) in block <unit> at -e line 1
So, unless I specifically declare a variable as a
particular type, I can change its "type" on the fly.
Is that correct?
Many thanks,
-T
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Serious error.
All shortcuts have disappeared.
Screen. Mind. Both are blank.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~