Keep It Simple, Stupid | |
PerlMonks |
Re^2: Perl 6: Static/Dynamic Strong/Weak Type Systemsby Anonymous Monk |
on Apr 17, 2006 at 18:23 UTC ( [id://543884]=note: print w/replies, xml ) | Need Help?? |
But you can never use hash-specific operations on an array, or vice-versa.
*shrug* Some things are legal, some are not: it depends on whether the compiler autodetects the type, and issues a warning, or autodetects the type, and comes up with a conversion or a default value, or the function does something different when called with different data types. keys(@x) is illegal. But length(@x) is legal, if largely pointless, as is length(%x). delete($x10) is a very different operation, under the hood, than delete($x{10}), but both work fine. You can freely perform int-specific or string-specific operations on any scalar variable. There's an implict scalar representation for both arrays and hashes, so you can freely perform integer or string specific operations on arrays and hashes, too. $x = @x+15 is legal Perl. So is "$x = %x + 5" (althought it will issue warnings).
--
In Section
Meditations
|
|