オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

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

大石ゆかり

お願いします!

 

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

絶対値とは

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

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

 

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

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

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

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

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

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.1e101
bd.abs #=> 0.1e101

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

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

 

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。

小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。