search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

Rubyの範囲オブジェクトについてまとめてみた

はじめに

Rubyの範囲オブジェクトについて学んだことをまとめました!

参考

  • プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

範囲オブジェクトとは

「1から5まで」や「aからdまで」のように、「〜から〜まで」を示すオブジェクトのこと

範囲オブジェクトの書き方

下記のように、..もしくは...を使用して記述します。

範囲オブジェクトの例
1..5 #1以上5以下
1...5 #1以上5未満
'a'..'d' #aからdまで
'a...'d #aからcまで

範囲オブジェクトのクラス

範囲オブジェクトはRangeクラスになります。

範囲オブジェクトのクラス
puts (1..5).class #=>Range

範囲オブジェクトの使用機会

「〜から〜まで」が伴う処理に使うと便利です!
例えば、

  1. 配列aの2番目から4番目までを取得する
  2. 引数に渡した数値が「0から50まで」か判定する
  3. ある範囲を配列に置換する
    などが挙げられます。
    一つずつ見ていきましょう!
配列aの2番目から4番目までを取得する例
a = [1,2,3,4,5]
p a[1..3] #=>[2, 3, 4]
引数に渡した数値が「0から50まで」か判定する
def liquid?(num)
    puts (0..50).include?(num)  
end

liquid?(1) #=>true
liquid?(-1) #=>false
liquid?(50) #=>true
liquid?(51) #=>false
ある範囲を配列に置換する
p ('a'..'d').to_a #=>["a", "b", "c", "d"]
p (1...5).to_a #=>[1, 2, 3, 4]

まとめ

範囲オブジェクトは、「〜から〜まで」が伴う処理では、活用出来そうですね!
間違いやアドバイス等ありましたら、是非ご教示ください!

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
What you can do with signing up
0
Help us understand the problem. What are the problem?