lovetysx 2010-09-30 13:19
浏览 348
已采纳

ruby 循环的一个问题

[code="ruby"]
def aa
a = [1,2,3]
result = []
for i in a
puts i
result << lambda {i}
end

result
end

def bb
a = [1,2,3]
result = []
a.each {|j|
result << lambda {j}
}
result
end

puts aa[0].call #3
puts bb[0].call #1

[/code]

为什么第一种循环方式,数组中每个lambda的参数都是3呢?

  • 写回答

1条回答 默认 最新

  • 架构进化论 新星创作者: 人工智能、微服务技术领域 2010-09-30 14:38
    关注

    http://2015.iteye.com/blog/639234 看完就应该明白了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?