Ruby 3-3
こんにちは!
蝉の泣きが活発になってきた。
比較演算子
今回は比較演算子のお話です。
異なる型同士の比較は、基本的にfalseとなります。
数値のInteger型とFloat型は比較可能です。
文字列型では比較の方法が変わります。
辞書式の比較となるので、5 > 3 より '15' > '131' となります。
配列の比較も辞書式と同じです。
大小比較には「<=>」を用います。
左辺>右辺なら 1、左辺<右辺なら -1、左辺=右辺なら 0、の値を返します。
浮動小数点は2進数で扱われるため、1行目はRubyではfalseになります。
Rational型を用いて有理数にすることは有効です。
定数EPSILON(イプシロン)は誤差の許容範囲を表します。
今回は浮動小数点同士の差を求め、absメソッドで絶対値を取得しています。
その差が0.00001未満である、ということです。
同値性、値が同じなので1行目はtrueです。
同一性、参照値が同じオブジェクトでないといけません。
なので、値は同じでも別のオブジェクトを指している2行目はfalseになります。
Integer型などのイミュータブル型は、値をオブジェクトとして扱うため、同一性でもtrueとなります。
基本的な条件演算子です。
複数の条件を列記することもできます。
ただし、可読性のためには if 命令文を用いるほうがよいでしょう。
こんな感じです。
ここでも型などは重要となってきますので、常に意識していきましょう。
ではでは。