これよりも良い方法は何ですか:
X = %w(a b c)
Y = %w()
X.each do |x|
Y << "good_" + x
end
ありがとう。
%w(a b c).map{|x| "good_#{x}"}
配列のcollectメソッドで十分です
Y = X.collect{|e|'good_'+e}
また
直接
Y = %w(a b c).collect{|e|'good_'+e}
両方を同じ行で定義するには:
y = ( x = %w[a b c] ).map { |i| 'good_%s' % i }
y
=> ["good_a", "good_b", "good_c"]
x
=> ["a", "b", "c"]