Ruby的block有二种写法,一种是花括号,一种是do...end,这二种写法略有不同,花括号{}方式与前面对象是紧密结合的: class def find for i in 0 ... self.length return self[i] if yield self[i] end return nil endenda = [1, 2, 3, 4, 5]puts a.find { |i| i == 4}puts a.find do |i| i == 4end# {...}比do...end块的结合能力强。例如:## foobar a, b do .. end # foobar 是带块的方法# foobar a, b { .. } # b 成了带块的方法 赞微海报分享
近期评论