module上級

Ruby の `Comparable` モジュールを include したとき、最低限実装すべきメソッドはどれですか?

  • == のみ
  • <=> のみ
  • < と > と ==
  • compare_to

解説

`Comparable` は `<=>` 演算子(宇宙船演算子)を実装するだけで、`<`、`<=`、`>`、`>=`、`between?`、`clamp` が自動的に使えるようになります。`<=>` は左辺が小さければ -1、等しければ 0、大きければ 1 を返します。