【Ruby3.x】Numeric::magnitude()メソッドの使い方
magnitudeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
magnitudeメソッドは、RubyのNumericクラスに属し、数値の「大きさ」(絶対値)を計算して返すメソッドです。このメソッドは、与えられた数値がどれくらいの大きさを持つかを正の値として表現することを目的としています。具体的には、正の数に対してはそのままの値を返し、負の数に対してはその符号を取り除いた正の値を返します。例えば、5.magnitudeは5を返し、-10.magnitudeは10を返します。
このmagnitudeメソッドは、同じく絶対値を返すabsメソッドと非常に似ていますが、浮動小数点数のゼロ、特に-0.0の扱いに重要な違いがあります。absメソッドは-0.0が与えられた場合でも-0.0を返しますが、magnitudeメソッドは、-0.0が与えられた場合であっても+0.0を返します。つまり、magnitudeメソッドは、数値の絶対的な大きさだけでなく、負のゼロを常に正のゼロとして扱うという振る舞いを持ちます。
そのため、ほとんどの数値に対してはabsメソッドとmagnitudeメソッドは同じ結果を返しますが、浮動小数点数の-0.0を数学的な「大きさ」として扱う際に、その符号を完全に無視して+0.0として統一したい場合にmagnitudeメソッドが役立ちます。この違いを理解することで、特定の数値処理において意図通りの結果を得るために、どちらのメソッドを使用すべきか適切に選択できます。
構文(syntax)
1-10.magnitude
引数(parameters)
引数なし
引数はありません
戻り値(return)
Numeric
数値の絶対値を返します。