Ruby

最近学んだRubyのメソッド(随時更新)

More than 1 year has passed since last update.

flatten, flatten! (Array)

配列の配列を平坦化した新しい配列を返し、配列中に含まれる配列からすべて要素を取り出して、親の配列の中に並べる

array = [1, 2, 3, [4, 5], [6, [7, 8]]]

p arr.flatten

=> [1, 2, 3, 4, 5, 6, 7, 8] 

https://docs.ruby-lang.org/ja/2.4.0/method/Array/i/flatten.html

flatten, flatten! (Hash)にも使える!

flattenメソッドは、ハッシュを平坦化した配列を返します。[キー, 値, キー, 値, ...]という配列になる。

scores = { "Alice" => 50, "Bob" => 60, "Carol" => 90, "David" => 40 }

p scores.flatten

["Alice", 50, "Bob", 60, "Carol", 90, "David", 40]

https://docs.ruby-lang.org/ja/2.4.0/method/Hash/i/flatten.html

transpose (Array)

transposeメソッドは、配列の配列を行と列からなるデータと見立てて、行と列を入れ替えた配列の配列を作成して返します。配列内の各配列の要素数が一致しないときは例外IndexErrorが発生させる

array = [[1, 2, 3],
       [4, 5, 6]]

p array.transpose

=> [[1, 4], [2, 5], [3, 6]]

https://docs.ruby-lang.org/ja/2.4.0/method/Array/i/transpose.html

concat (Array)

concatメソッドは、配列arrayの末尾に引数の配列other_arrayを結合し、レシーバ自身を変更するメソッドです。戻り値はレシーバ自身です。

fruits = ["apple", "orange", "banana"]
fruits.concat(["kiwi", "strawberry"])
p fruits
["apple", "orange", "banana", "kiwi", "strawberry"]

https://docs.ruby-lang.org/ja/latest/method/Array/i/concat.html

concat (Stringにも使える!)

concatメソッド(String)は、<<の別名で、文字列末尾に別の文字列を加える。整数integerで文字のコードを指定すると、文字列の末尾に1文字追加します。

s = "Hello"
s.concat(" world")
puts s
Hello world

https://docs.ruby-lang.org/ja/latest/method/String/i/concat.html