Rubyで数値から絶対値を求める方法【初心者向け】

初心者向けにRubyで数値から絶対値を求める方法について解説しています。絶対値は原点0から見た距離で、符号のない値になります。absを使用した絶対値の求め方について学習しましょう。実際にソースコードを書いて説明しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyで数値から絶対値を求める方法について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

数値から絶対値を求める方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

Rubyで数値から絶対値を求める方法

絶対値とは

絶対値とは、ある数値Xにおいて符号を無視して得られる符号なしの数値のことです。

0からの距離といった表現をされることもありますね。

 

数値から絶対値を求める方法

では絶対値をRubyを用いて求める方法ですが、Rubyは数値が様々なメソッドを最初から持っており、たとえば奇数かどうか判定するメソッド `odd?` や同様に偶数かどうか判定するメソッド `even?` といったメソッドがあります。

そのうちの一つに絶対値を取得するメソッド `abs` があります。
`abs` は `absolute` の略です。

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

絶対値を求める方法はとても簡単です。

rb

1.abs #=> 1
-10.abs #=> 10

a = 10
b = -50

(a + b).abs #=> 500

1.1.abs #=> 1.1
-4.3.abs #=> 4.3

数値のObjectに対して `abs` メソッドを問い合わせるだけで、絶対値が得られます。小数点に対して用いても同様です。

また、Rubyは複素数(Complex)や有理数(Rational), Integerの範囲を超える数値を表現するBigDecimalといった数値も扱えます。それらも同じように `abs` メソッドが利用できます。

 

rb

# 複素数
1+2i.abs #=> 3 これは複素平面上における絶対値ですね。

# 有理数
r = Rational(1, 3) #=> (1/3)
r.abs #=> (1/3)

# BigDecimal
require 'bigdecimal'
bd = BigDecimal(10**100) #=> 0.1e11
bd.abs #=> 0.1e11

いかがでしょうか。 `abs` をはじめ数値にはその数値の性質を表すようなメソッドが複数存在します。

是非これらのメソッドを活用してみましょう。

 

監修してくれたメンター

大塚 颯斗

Ruby on Rails, PHP, Go を中心としたウェブアプリケーションエンジニアとして都内のウェブサービスを提供する企業に在籍。
最近はPHPを主に書きながら、オブジェクト指向をうまく適用していくことに関心を寄せています。

家で飼っている猫が好きだが、何故かすぐに猫に攻撃されて嫌われているかもしれない、というのが悩み。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。