[ ] 和 ( ) 的區(qū)別
# 無法正常排序
my @s = [2443,5,33, 90, -9, 2, 764];
say @s.sort; # 2443 5 33 90 -9 2 764
say @s.WHAT; # (Array)
say @s.perl; # [[2443, 5, 33, 90, -9, 2, 764]]<>
# 正常排序
my $array = [2443,5,33, 90, -9, 2, 764];
say $array.sort; # -9 2 5 33 90 764 2443
say $array.WHAT; # (Array)
say $array.perl; # [2443, 5, 33, 90, -9, 2, 764]
my @s = (2443,5,33,90,-9,2,764);
say @s.sort; # -9 2 5 33 90 764 2443
say $array.WHAT; # (Array)
say @s.perl; # [2443, 5, 33, 90, -9, 2, 764]<>
可見, 使用 [ ] 和 ( ) 創(chuàng)建數組是不一樣的.
my @s = [2443, 5, 33, 90, -9, 2, 764];
這創(chuàng)建了一個數組, 并把該數組賦值給 @s[0], 所以 @s 只有一個元素, 所以對 @s 進行排序是沒有意義的. 然而你可以使用:
@s[0].sort.say
來實現你要求的排序.