【Rangeオブジェクト】Rubyの基礎【学習】

Ruby_logoRuby

今回はRangeオブジェクトの学習方法について解説していきます。

その他のRubyの基礎については以下を参照ください。

スポンサーリンク

Rangeオブジェクトの宣言

以下のようにRangeオブジェクトを宣言することができます。

[23] pry(main)> 1..4
=> 1..4
[24] pry(main)> (1..4).class
=> Range

Rangeオブジェクトの中身

Rangeオブジェクトは宣言方法によって中身が以下のように変わります。

「..」と二つピリオドを記載すると数値のRangeが作成され、「…」と三つのピリオドを記載するとマイナス1された数値のRangeが作成されます。

[25] pry(main)> (1..4).to_a
=> [1, 2, 3, 4]
[26] pry(main)> (1...4).to_a
=> [1, 2, 3]

Rangeオブジェクトで文字を扱う

上記では数値を宣言しましたが、文字でも使用することができます。

[27] pry(main)> ('a'..'z').to_a
=> ["a",
 "b",
 "c",
 "d",
 "e",
 "f",
 "g",
 "h",
 "i",
 "j",
 "k",
 "l",
 "m",
 "n",
 "o",
 "p",
 "q",
 "r",
 "s",
 "t",
 "u",
 "v",
 "w",
 "x",
 "y",
 "z"]

Rangeオブジェクトでeachメソッドの利用

以下のようにRangeオブジェクトの中身をeachメソッドを使用して取り出すことができます。

[29] pry(main)> (1..30).each {
[29] pry(main)* |day| puts "#{day}日目"
[29] pry(main)* }
1日目
2日目
3日目
4日目
5日目
6日目
7日目
8日目
9日目
10日目
11日目
12日目
13日目
14日目
15日目
16日目
17日目
18日目
19日目
20日目
21日目
22日目
23日目
24日目
25日目
26日目
27日目
28日目
29日目
30日目
=> 1..30

まとめ

数値、文字、日付などの範囲を扱う際には使用することになりますので、覚えておきましょう。

https://amzn.to/2KXix16

コメント

タイトルとURLをコピーしました