RubyのArrayクラスについて

RubyのArrayクラスについて

お父さん、お母さん、元気ですか?
家族に音信不通系エンジニア見習いイハ(社内最年少)です。

「体温調節できないみたいで、社内に居るのに突然寒くなったり汗だくになったりするんですよね〜」とぼやいたら、
「更年期?」と言われました。イハ(社内最年少)です。

そんなことはさておき、更年期の疑いのある私は覚えたものをすぐに忘れてしまうので、
今回はRubyのArrayクラスについて復習がてらまとめました。

Arrayクラスとは

配列を表すオブジェクト。

※配列ってなんやねん
データをたくさん入れられる箱のようなもの。

hoge1 = Array.new=>[]
hoge2 = Array.new(2)=>[nil, nil]
hoge3 = [“hoge”, “hoge”]=>[“hoge”, “hoge”]

みたいな感じで作れます。

インスタンスメソッド

+

2つの配列をつなげる。

hoge1 = [“a”, “b”, “c”, “d”]
hoge2 = [“a”, “c”, “e”, “f”]
p hoge1 + hoge2=>[“a”, “b”, “c”, “d”, “a”, “c”, “e”, “f”]

足し算っすね。

&

2つの配列に共通する要素を取り出す。

hoge1 = [“a”, “b”, “c”, “d”]
hoge2 = [“a”, “c”, “e”, “f”]
p hoge1 & hoge2=>[a, c]

積集合というらしいです。

collect

map

要素の数だけブロックに渡して、その結果を返す。#mapと#collectは同じだそう。

hoge = [1, 2, 3]
p hoge.map {|i| i * 3}=>[3, 6, 9]

諸行無常先輩に「よく使うメソッドって何ですか?」と聞いたら「map!」と即答されました。
これは絶対に覚えておくべきです。

first

配列の最初の要素を返す。配列が空のときはnilを返す。

hoge = [“a”, “b”, “c”, “d”]
p hoge.first=>“a”

諸行無常先輩がしばらく考えてから「あ、あとfirst」と言ったので、
どんなときに使うのか聞いてみたら「配列の最初の値を取りたいとき」と回答してくれました。
今度は「配列の最初の値が取りたくなるのはどういう場合か」を聞いてみようと思います。

compact

配列からnilを取り除く。

hoge = [“a”, nil, nil, “b”]
p hoge.compact=>[“a”, “b”]

あれ?できないぞ?と思ったらconpactと打っていました。気をつけよう。

join

配列の要素を文字列に変換して、引数を区切り文字として結合した文字列を返す。

hoge = [“a”, “b”, “c”, “d”]
p hoge.join(“, “)=>a, b, c, d

引数を省略すると、区切り文字なしで結合した文字列を返す。

flatten

配列の配列を平坦化した配列を返す。

hoge = [1, [2, 3, 4], 5, 6]
p hoge.flatten=>[1, 2, 3, 4, 5, 6]

大体誤字をやらかす私が珍しく正しく打てました。

uniq

配列の仲で重複する要素を削除した配列を返す。

hoge = [1, 1, 2, 3, 2, 4, 6, 4, 5, 7]
p hoge.uniq=>[3, 6, 5, 7]

諸行無常先輩がこれもよく使うと言っていました。これもどういうときに使うのか聞いてみようと思います。

他にもたくさんのメソッドがありますが、今回は諸行無常先輩が「よく使う」と挙げてくれたものを中心に書きました。

恥ずかしながら配列というものがよく分からず学生時代は避け続けて生きていたのですが、
分かってからは最高だなと思っています。最高はさすがに盛り過ぎました。
最高というか不可欠ですね。一体今まで私はどうやって生きてきたんだろう…

そんな疑問を抱えつつ、イハは高円寺という魔の地に引きずり込まれて行った。

TAG

  • このエントリーをはてなブックマークに追加
イハ
エンジニア イハ iha

仮面ライダーになりたかった最年少ポジティブゆとり世代です。ここの文章が短いとレイアウトが崩れるので書いておきますが、沖縄ファミリーマートの泡盛コーヒーは美味しい。