何がおきているのかわからないもの

調査中

puts("%d" % [1+2])
#=>3

10.times{|i| eval 'print "%d " %[i*i]'}
#=>0 1 4 9 16 25 36 49 64 81

x = lambda{|a,b| a+b}
(1..10).map {|e| [e, e+1]}.each {|a| print "%d " % [x[a[0],a[1]]]}
#=>3 5 7 9 11 13 15 17 19 21 

何がおきているかわかりません><

追記

たぶん[]が再定義されまくっているのだと思うのだけれど…