はじめに
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
範囲オブジェクトの使用機会
「〜から〜まで」が伴う処理に使うと便利です!
例えば、
- 配列aの2番目から4番目までを取得する
- 引数に渡した数値が「0から50まで」か判定する
- ある範囲を配列に置換する
などが挙げられます。
一つずつ見ていきましょう!
配列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]
まとめ
範囲オブジェクトは、「〜から〜まで」が伴う処理では、活用出来そうですね!
間違いやアドバイス等ありましたら、是非ご教示ください!