Ruby基本構文TIPS Part2です。今回は「基本的な配列メソッド」に関して書いていきます。
基本的な配列メソッド
配列の宣言と代入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # 配列の番号は、1番目が0、2番目が1、...といったかたちになります。 a = [] #=> 空白の配列 a << 1 a << 2 p a #=> [1, 2] b = Array.new(4, 1) #=> [1, 1, 1, 1] b[2] = 0 #=> [1, 1, 0, 1] # 次元配列 c = Array.new(3){ Array.new(3, 0) } #=> [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] c[2][3] = 1 #=> [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 0]] |
含まれる要素の数を数える
1 2 3 | a = [1, 1, 1, 2, 2, 2, 2, 3, 3] puts a.count(2) #=> 4 |
要素が含まれるかチェックする
1 2 3 4 5 6 | a = [0,1,3,5,6] puts a.include?(4) #=> true puts b.include?(2) #=> false |
配列の最後を取り出す
1 2 3 4 5 6 | a = [1,2,3,4,5] puts a[-1] #=> 5 puts a.last #=> 5 |
要素を結合して文字列にする
1 2 3 | a = [1,2,3,4,5,6] puts a.join('-') #=> 1-2-3-4-5-6 |
配列の要素を順番に取り出してループさせる
1 2 3 4 5 | a = [1,2,3,4,5] a.each do |b| print b - 1 end #=> 01234 |
ブロックの戻り値の配列を作成する
1 2 3 4 5 6 7 8 9 10 11 12 13 | a = [1, 2, 3, 4, 5] b = a.map do |n| n * 2 #各要素2倍したものを返す end p b #=> [2, 4, 6, 8, 10] #書き方はこっちでもよい b = a.map{|n| n * 2} #または a.map!{|n| n * 2} p a #=> [2, 4, 6, 8, 10] |
ブロックで真になった要素を削除する
1 2 3 4 5 | # odd?は奇数であるかどうか、つまり奇数のものを削除する a = [1,2,3,4,5,6] a.reject!{|n| n.odd? } p a #=> [2, 4, 6] |
ブロックが真になった要素からなる配列を作成
1 2 3 4 5 | # 奇数のものからなる配列を作成 a = [1,2,3,4,5,6] a.select!{|n| n.odd? } p a #=> [1, 3, 5] |
配列を逆順にする
1 2 3 4 | a = [1, 2, 3, 4, 5] a.reverse! p a #=> [5, 4, 3, 2, 1] |
配列の要素削除する
1 2 3 4 5 6 7 8 9 10 11 12 13 | a = ['A', 'B', 'C', 'D', 'E', 'F'] a.delete('C') #要素'C'を削除 p a #=> ['A', 'B', 'D', 'E', 'F'] a.delete_at(0) #1番目の配列を削除 p a #=> ['B', 'D', 'E', 'F'] b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] b.delete_if{|n| n.odd? } #奇数の要素を削除 p b #=> [2, 4, 6, 8, 19] |
配列の最初の要素
1 2 3 4 5 6 | a = [1, 2, 3, 4, 5] puts a.first #=> 1 puts a[0] #=> 1 |
配列の要素の位置を調べる
1 2 3 4 5 6 | a = ['A', 'B', 'C', 'D', 'E'] puts a.index('B') #=> 1 puts a.index('Z') #=> nil |
以上で、「基本的な配列メソッド」についての説明をおわります。