ざっくりん雑記

プログラミングで忘れそうなことをひたすらメモる

Ruby - %記法を使って手打ちで配列に要素を代入するやつ

%記法を利用する

a = ["a", "b", "c"]

こうやって配列に要素を入れるのが普通だけど何度もダブルコーテーションを打たねばならないので途中でアァァ!!!!!ってなる(ならないけど面倒くさい)

a = %W(a b c)

こうすれば、同じように配列に要素が入る(スゴイ)

一応動作確認

a = ["a", "b", "c"]
b = %W(a b c)
p a
p b
["a", "b", "c"]
["a", "b", "c"]

同じように配列ができている。

数値を%記法で入れたらどうなるか

a = ["a", "b", "c", 1 , 2, 3]
b = %W(a b c 1 2 3)
p a
p b
["a", "b", "c", 1, 2, 3]
["a", "b", "c", "1", "2", "3"]

文字列になって入ってる。 この文字列の ["1", "2", "3"] を数値として配列から取り出したい時は、

b = %W(a b c 1 2 3)
p b[3,3].map(&:to_i)
[1, 2, 3]

数値にして取り出せなくもないけど、なら最初から%記法を使わないで配列作ったほうがいいかもしれない。

参考

#12 %記法を使ってみよう | Ruby入門 - プログラミングならドットインストール

map, map! (Array) - Rubyリファレンス