「メソッドに対する個々のオブジェクトの応答に応じて、オブジェクトのリストをソートすることは可能ですか?」で、空飛ぶ円盤がブール値で機能しないことを発見しました。
検討:
ルビー 1.8.7:
[true, false].sort # => undefined method `<=>' for true:TrueClass (NoMethodError)
true <=> false # => undefined method `<=>' for true:TrueClass (NoMethodError)
ルビー 1.9.3:
[true, false].sort # => comparison of TrueClass with false failed (ArgumentError)
true <=> false # => nil
true <=> true # => 0
false <=> true # => nil
true と false に正規の並べ替え順序がないことに関係している可能性があります。どちらが最初に来るのでしょうか? しかし、それは私にはかなり弱いように聞こえます。
これは のバグsort
ですか?