ソートするときの記号の方向が覚えられないという悩みがある。
多くの言語では、比較演算子を使ってコレクションをソートする操作が定義されている。
// scalaだと... val lis = Seq(...) // なんかのリスト lis.sortWith((a, b) => a < b) // 昇順ってどっちだっけ・・・降順ってどっちだっけ・・・
大なりを書けばいいんだっけ?小なりを書けばいいんだっけ?毎回ググるのだが覚えられない。
記号の形の通りにソートされます
さきほど、記号の形の通りにソートされる 、というふうに覚えればよいことに気付いた。つまり、 <
は左が小さく右が大きく開いているので、コレクションも左が小さく右が大きく、つまり昇順ascendantにソートされる。>
は同様の覚え方で降順descendantになる。
lis.sortWith((a, b) => a < b) // 左が小さいので昇順
lis.sortWith((a, b) => a > b) // 左が大きいので降順
lis.sortWith(_< _) // こういうふうにも書ける
これでもう忘れることはないだろう。ところでアラビア語圏といったRTL文化圏では大なり小なりの記号はどうなるんだろう。言語学者の人教えてください。