Ruby Arrayオブジェクト メモ その2
%w 記法とか Arrayオブジェクトの * メソッド?オペレータ?で気になったのでメモ
記述1:配列の中に配列〜
ruby -e "p [%w[a b c],%w[d e f] ]"
[ ["a", "b", "c"], ["d", "e", "f"] ]
記述2:配列の加算
ruby -e "p [*%w[a b c] + %w[d e f] ]"
["a", "b", "c", "d", "e", "f"]
さてここからが本題
記述3:前方の配列にのみ「*」
エラーが出て怒られちゃいます
ruby -e "p [*%w[a b c], %w[d e f] ]"
- e:1: syntax error, unexpected ',', expecting ']'
p [*%w[a b c], %w[d e f] ]
^
- e:1: syntax error, unexpected ']', expecting $end
記述4:後方の配列のみ「*」
こちらは怒られません
ruby -e "p [%w[a b c], *%w[d e f] ]"
[ ["a", "b", "c"], "d", "e", "f"]
記述5:両方の配列に「*」
やっぱ怒られた
ruby -e "p [*%w[a b c], *%w[d e f] ]"
- e:1: syntax error, unexpected ',', expecting ']'
p [*%w[a b c], *%w[d e f] ]
^
- e:1: syntax error, unexpected ']', expecting tCOLON2 or '[' or '.'
記述6:配列の加算をしてから「*」
ruby -e "p [*(%w[a b c] + %w[d e f])]"
["a", "b", "c", "d", "e", "f"]
むむたかが Array されど Array
奥が深いな