Changeset 21175
- Timestamp:
- 07/03/08 13:47:07 (5 months ago)
- Files:
-
- 1 modified
-
t/spec/S04-statements/for.t (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
t/spec/S04-statements/for.t
r21174 r21175 26 26 } 27 27 28 28 29 ## for with plain old range operator w/out parens 29 30 # L<S04/The C<for> statement/always takes a list as an argument> … … 45 46 46 47 #?pugs eval 'todo: slice context' 48 #?rakudo skip 'slice context' 47 49 { 48 50 my $str; … … 52 54 $str ~= "($x $y)"; 53 55 } 54 };55 56 is $str, "(1 5)(2 4)(3 6)", 'for zip(@a; @b) -> $x, $y works'; 56 57 } … … 135 136 136 137 # ... with referential sub 137 138 my @array_n = (0 .. 5); 139 my $n; 140 sub some_sub_3 ($arg) { $n = $n ~ $arg; } 141 for (@array_n) { .some_sub_3 }; 142 is($n, '012345', 'for @array { .some_sub } works'); 138 #?rakudo skip 'implicit invocant' 139 { 140 my @array_n = (0 .. 5); 141 my $n; 142 sub some_sub_3 ($arg) { $n = $n ~ $arg; } 143 for (@array_n) { .some_sub_3 }; 144 is($n, '012345', 'for @array { .some_sub } works'); 145 } 143 146 144 147 ## and now with parens around the @array … … 159 162 160 163 # ... with referential sub 164 #?rakudo skip 'implicit invocant' 161 165 { 162 166 my @array_r = (0 .. 5); … … 209 213 210 214 #?pugs eval 'todo' 215 #?rakudo skip 'parse error' 211 216 { 212 217 my @array_v = (0..2); … … 242 247 243 248 # .key //= ++$i for @array1; 249 #?rakudo skip 'implicit invocant' 244 250 { 245 251 class TestClass is rw { has $.key; }; … … 256 262 257 263 # .key = 1 for @array1; 264 #?rakudo skip 'implicit invocant' 258 265 { 259 266 class TestClass is rw { has $.key; }; … … 273 280 my @array2 = (TestClass.new(:key<1>),TestClass.new(:key<1>)); 274 281 275 try { $_.key = 1 for @array1 };276 my $sum1 = @array1.map: { $_.key };277 my $sum2 = @array2.map: { $_.key };282 $_.key = 1 for @array1; 283 my $sum1 = @array1.map: { $_.key }; 284 my $sum2 = @array2.map: { $_.key }; 278 285 is( $sum1, $sum2, '$_.key = 1 for @array1;'); 279 286 … … 282 289 # rw scalars 283 290 #L<S04/The C<for> statement/implicit parameter to block read/write "by default"> 291 #?rakudo skip 'list assignment' 284 292 { 285 293 my ($a, $b, $c) = 0..2; … … 295 303 296 304 { 297 $a = '';305 my $a = ''; 298 306 for 1..3, 4..6 { $a =~ $_.WHAT }; 299 307 is($a, 'IntIntIntIntIntInt', 'List context');
