我有一个参考数组,其中包含所有可能的元素,并按照不同于字母数字排序的自定义顺序进行排序。例如:
@ref_array = ('one','two','three','four','five','six');
现在所有的输入数组都需要按照参考数组的顺序进行排序。输入数组将始终是参考数组的子集。
@in1 = ('three','one','five'); # Input
@out1 = ('one','three','five'); # Desired Output
@in2 = ('six','five','four','three','two','one'); # Input
@out2 = ('one','two','three','four','five','six') # Desired Output
eq
vs.==
,cmp
vs<=>
。Ruby 和 Perl6 没有这个问题,并且可以提供通用比较。在 Perl5 中,字符串排序是一个合理的默认值。但你可以自由定义自己的排序方法,例如sub numsort { sort { $a <=> $b } @_ }
。 - amon