@@ -7,31 +7,31 @@ plan 40;
7
7
8
8
{
9
9
my @ list = 1 , 2 , 3 , 4 ;
10
- my $ classified1 = { even => [2 ,4 ], odd => [1 ,3 ] } ;
11
- my $ classified2 = { even => [2 ,4 ,2 ,4 ], odd => [1 ,3 ,1 ,3 ] } ;
10
+ my % classified1 { Any } = even => [2 ,4 ], odd => [1 ,3 ];
11
+ my % classified2 { Any } = even => [2 ,4 ,2 ,4 ], odd => [1 ,3 ,1 ,3 ];
12
12
my sub subber ($ a ) { $ a % 2 ?? ' odd' !! ' even' };
13
13
my $ blocker = { $ _ % 2 ?? ' odd' !! ' even' };
14
14
my $ hasher = { 1 => ' odd' , 2 => ' even' , 3 => ' odd' , 4 => ' even' };
15
15
my $ arrayer = <huh odd even odd even >. list;
16
16
17
17
for & subber , $ blocker , $ hasher , $ arrayer -> $ classifier {
18
- is-deeply @ list . classify ( $ classifier ), $ classified1 ,
18
+ is-deeply @ list . classify ( $ classifier ), % classified1 ,
19
19
" basic classify from list with { $ classifier .^ name } " ;
20
- is-deeply classify ( $ classifier , @ list ), $ classified1 ,
20
+ is-deeply classify ( $ classifier , @ list ), % classified1 ,
21
21
" basic classify as subroutine with { $ classifier .^ name } " ;
22
22
23
- classify ( $ classifier , @ list , : into(my % h ) );
24
- is-deeply % h , $ classified1 ,
23
+ classify ( $ classifier , @ list , : into(my % h { Any } ) );
24
+ is-deeply % h , % classified1 ,
25
25
" basic classify as sub with { $ classifier .^ name } and new into" ;
26
26
classify ( $ classifier , @ list , : into(% h ) );
27
- is-deeply % h , $ classified2 ,
27
+ is-deeply % h , % classified2 ,
28
28
" basic classify as sub with { $ classifier .^ name } and existing into" ;
29
29
30
- @ list . classify ( $ classifier , : into(my % i ) );
31
- is-deeply % i , $ classified1 ,
30
+ @ list . classify ( $ classifier , : into(my % i { Any } ) );
31
+ is-deeply % i , % classified1 ,
32
32
" basic classify from list with { $ classifier .^ name } and new into" ;
33
33
@ list . classify ( $ classifier , : into(% i ) );
34
- is-deeply % i , $ classified2 ,
34
+ is-deeply % i , % classified2 ,
35
35
" basic classify from list with { $ classifier .^ name } and existing into" ;
36
36
}
37
37
@@ -54,57 +54,59 @@ plan 40;
54
54
} # 3
55
55
56
56
{
57
- my $ result = { 5 => [1 ], 10 => [2 ], 15 => [3 ], 20 => [4 ] } ;
58
- is-deeply classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 ), $ result ,
57
+ my % result { Any } = 5 => [1 ], 10 => [2 ], 15 => [3 ], 20 => [4 ];
58
+ is-deeply classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 ), % result ,
59
59
' can classify by numbers' ;
60
- classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 , : into(my % by_five ) );
61
- is-deeply % by_five , $ result ,
60
+ classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 , : into(my % by_five { Any } ) );
61
+ is-deeply % by_five , % result ,
62
62
' can classify by numbers into an existing empty hash' ;
63
63
classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 , : into(% by_five ) );
64
- $ _ [1 ] = $ _ [0 ] for $ result . values ;
65
- is-deeply % by_five , $ result ,
64
+ $ _ [1 ] = $ _ [0 ] for % result . values ;
65
+ is-deeply % by_five , % result ,
66
66
' can classify by numbers into an existing filled hash' ;
67
67
classify ( { $ _ * 5 }, 1 , 2 , 3 , 4 , : into(% by_five ), : as(* * 2 ) );
68
- $ _ [2 ] = 2 * $ _ [1 ] for $ result . values ;
69
- is-deeply % by_five , $ result ,
68
+ $ _ [2 ] = 2 * $ _ [1 ] for % result . values ;
69
+ is-deeply % by_five , % result ,
70
70
' can classify by numbers into an existing filled hash with an :as' ;
71
71
} # 4
72
72
73
73
# .classify should work on non-arrays
74
74
{
75
- is-deeply 42 . classify ( {$ _ } ), { 42 => [42 ] } , " classify single num" ;
76
- is-deeply " A" . classify ( {$ _ } ), { A => [" A" ] } , " classify single string" ;
75
+ is-deeply 42 . classify ( {$ _ } ), ( my % { Any } = 42 => [42 ]) , " classify single num" ;
76
+ is-deeply " A" . classify ( {$ _ } ), ( my % { Any } = A => [" A" ]) , " classify single string" ;
77
77
} # 2
78
78
79
79
# ?niecza todo 'feature'
80
80
{
81
81
is-deeply ( classify ( {. comb }, flat 100 .. 119 , 104 , 119 ),
82
- (" 1" => {
83
- " 0" => {
84
- " 0" => [100 ],
85
- " 1" => [101 ],
86
- " 2" => [102 ],
87
- " 3" => [103 ],
88
- " 4" => [104 ,104 ],
89
- " 5" => [105 ],
90
- " 6" => [106 ],
91
- " 7" => [107 ],
92
- " 8" => [108 ],
93
- " 9" => [109 ],
94
- },
95
- " 1" => {
96
- " 0" => [110 ],
97
- " 1" => [111 ],
98
- " 2" => [112 ],
99
- " 3" => [113 ],
100
- " 4" => [114 ],
101
- " 5" => [115 ],
102
- " 6" => [116 ],
103
- " 7" => [117 ],
104
- " 8" => [118 ],
105
- " 9" => [119 ,119 ],
106
- }
107
- }). hash, ' multi-level classify' );
82
+ (my % {Any } =
83
+ " 1" => (my % {Any } =
84
+ " 0" => (my % {Any } =
85
+ " 0" => [100 ],
86
+ " 1" => [101 ],
87
+ " 2" => [102 ],
88
+ " 3" => [103 ],
89
+ " 4" => [104 ,104 ],
90
+ " 5" => [105 ],
91
+ " 6" => [106 ],
92
+ " 7" => [107 ],
93
+ " 8" => [108 ],
94
+ " 9" => [109 ],
95
+ ),
96
+ " 1" => (my % {Any } =
97
+ " 0" => [110 ],
98
+ " 1" => [111 ],
99
+ " 2" => [112 ],
100
+ " 3" => [113 ],
101
+ " 4" => [114 ],
102
+ " 5" => [115 ],
103
+ " 6" => [116 ],
104
+ " 7" => [117 ],
105
+ " 8" => [118 ],
106
+ " 9" => [119 ,119 ],
107
+ )
108
+ )
109
+ ), ' multi-level classify' );
108
110
}
109
111
110
112
is classify ( { " foo" }, () ). elems , 0 , ' classify an empty list' ;
@@ -113,7 +115,7 @@ is classify( { "foo" }, () ).elems, 0, 'classify an empty list';
113
115
{
114
116
is-deeply
115
117
<a b c >. classify ({ ~ ($ ~ = $ _ ); }),
116
- { ' a' => [' a' ], ' ab' => [' b' ], ' abc' => [' c' ]} ,
118
+ ( my % { Any } = ' a' => [' a' ], ' ab' => [' b' ], ' abc' => [' c' ]) ,
117
119
' &test only run once for each item' ;
118
120
}
119
121
0 commit comments