アウトプットの部屋

エンジニアになるためのアウトプット

rubyの配列について①

配列は、Arrayクラスのインスタンスです。

[ ]で囲み、要素の間をカンマで区切ることで生成されます。 以下のように%を使って生成することも可能です。

a1 = %w(hoge fuga bar)

#  a1 = ["hoge","fuga","bar"]

Arrayクラスにnewメソッドを使うことでも配列を作れます。引数を設定することで、個数と中身を設定できます。

a1 = Array.new(3)  # [nil,nil.nil]
a2 = Array.new(2,"a") #  ["a","a"]
a3 = Array.new(2){"a"}  #  ["a","a"]

要素を持って来る時は、以下のように書きます。

a = [1,2,3,4]
p a[0,2]  #=>  [1,2]

b = [5,6,7,8]
b[0,2] = "b"
p b #=>  ["b",7,8]   #["b","b",7,8]ではないので注意

c = ["a","b","c"]
c[1,2] = 1,2       #複数の要素の指定もできる
p c #=>  ["a",1,2]       

d =  [0,1,2,3]
d[1,2] = "a","b","c"            #指定数以上の個数を代入した場合
p d #=>  [0,"a","b","c",3]  

e = 5,6
p e  #=> [5,6]                 # 1つの変数に複数の値を入れると配列になる

配列の演算

配列の演算について少し。

a = [1,2,3]
b = [2,3,4]

a + b #=>  [1,2,3,2,3,4]
a - b #=>   [1]

a & b #=>  [1,4]
a | b  #=> [1,2,3,4]

a #=> [1,2,3]
b #=> [2,3,4]                #これらの演算子は非破壊的メソッド

[1,1,2,2,3,3] - [1]  #=> [2,2,3,3]
[4,5,6] * "-" #=> "4-5-6"
[7,8,9].join("-")  #=> "7-8-9"          #この2つのメソッドも非破壊的メソッド

とりあえずここまで。配列は細かい文法が多いですね笑

最近リーガルハイというドラマを全部見まして、堺雅人の大ファンになりました。 半沢直樹も見ようかな。。。