0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Ruby】UFO演算子

Last updated at Posted at 2022-12-28

UFO演算子について。深掘りしきれなかったので、自分用メモです。。。

UFO演算子とは

<=>という演算子があります。これは、両辺のオブジェクトを比較して値を返すものです。
self <=> otherで比較した時の挙動は

  • 左が大きい =「1」
  • 等しい =「0」
  • 右が大きい=「-1」
    となります。

これをもう少しわかりやすく書くと

1 <=> 0 #=> 1
1 <=> 1 #=> 0
0 <=> 1 #=> -1

となります。

また、UFO演算子を利用するために、Comparableモジュールをインクルードする必要があります。
Comparableモジュールをインクルードしたクラスでは、インスタンス同士を比較演算子を利用して比較することができます。
< , <= , == , > , >= , between?

<=>演算子の使い方

先ほど説明した<>などを利用することができますが、比較結果を-1、0、1を返すように定義する必要があります。
クラスに<=>演算子をメソッドで定義して、インスタンスを比較できるように定義し直して使う場合もあります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?