Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

ソート 大なり 小なり 記号 ascendant descendant どっち 一瞬で覚える方法

ソートするときの記号の方向が覚えられないという悩みがある。

多くの言語では、比較演算子を使ってコレクションをソートする操作が定義されている。

// 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文化圏では大なり小なりの記号はどうなるんだろう。言語学者の人教えてください。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?