何かに使えそう(eval)

ループを使わない繰り返し?

def wa_n n
  i=1;
  eval 'puts "i=#{i}: "+"wa"*i; i+=1;' *n
end
wa_n(3)
#=>i=1: wa   #puts "i=1: wa"; i+=1;に変換され実行される。
  #i=2: wawa 
  #i=3: wawawa

1..9=>2..9+1=>..1..9

x=(1..9).to_a.to_s; eval 'puts x; x[0],x[-1]=x[-1],x[0];'*10
#同じようなもの
(0..9).inject((1..9).to_a) {|a,b| puts a.to_s; a.push(a.shift)}