Are you sure none(self) does what you want? I'm not sure it automatically flattens the array contents.
No, I'm not really sure: actually $Larry wrote unless any(self). I gathered my version would have been the same and actually it appears to work for one method. I reverted to $Larry's choice, but it doesn't seem to make a difference:
pugs> my @array does role { ....> multi method insert ($x) { @.push($x) unless any(self) eqv $x } ....> multi method insert (@x) { @.insert($_) for @x } ....> } = 1..5; pugs> @array.insert($_) for 2..6; pugs> say @array 123456 Bool::True pugs> @array.insert(3..7); pugs> say @array 12345634567 Bool::True
In reply to Re^2: [Perl 6] Problem with multi methods
by blazar
in thread [Perl 6] Problem with multi methods
by blazar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |