>>590
それが・・・置き換える部分は一箇所ではなくて
かつ、その順序も選んでくる配列の要素により不定なので

str1 = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' ]
str2 = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' ]
a = "want_to_replace_%s_%s"
としたとして

puts a % [ str1[rand(str1.size)], str2[rand(str2.size)] ]
という結果を得たい場合もsれば
puts a % [ str2[rand(str2.size)], str1[rand(str1.size)] ]
という結果を得たい場合もあるのです。

case rand(N)
when 0
puts "#{str1} #{str2}"
when 1
puts "#{str2} #{str1}"
....
when N
puts "..."
end
みたいに網羅するしかないですか。