*
(Splat Operator) を使うといろんな書き方できますね。
アルファベットの配列を作ってみます。
('a'..'z').to_a
# => ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
こう書けますね。
[*'a'..'z']
# => ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
ちな
不要なアルファベットがあるときはこんなかんじ?
[*'a'..'z'].delete_if {|a| a =~ /[p|x|z|]/}
# => ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "q", "r", "s", "t", "u", "v", "w", "y"]
もっといろいろできる
REF
- Ruby Splat Operator : https://gist.github.com/francisco-rojas/db0fb04ed6aa509acc18
- ここまで出来る!RubyのSplat Operatorまとめ - RailsとRubyとVimのブログ : http://alpaca.tc/blog/ruby/how-to-use-star.html