在Ruby中,我已经开始将Structs视为“结构化风格的类”,将lambdas视为“lambda风格的过程”。这些区别有没有更正确的术语?lambda vs proc或Struct vs Class的区别是什么?
为了说明我的意思:
p = proc { |text| puts text }
p.inspect
#=> #<Proc:[email protected](irb):5>
# vs
l = lambda { puts 'foo' }
l.inspect #=> "#<Proc:[email protected](irb):7 (lambda)>"
...以及类似:
Point = Class.new
Point.class #=> Class
p = Point.new
p.class #=> Point
p.inspect #=> #<Point:0x007fd9c1038ef8>
# vs
Point = Struct.new(:x, :y)
Point.class #=> Class
p = Point.new
p.class #=> Point
p.inspect #=> "#<struct Point x=nil, y=nil>"
我建议“lambdacity”。 :) – 2013-03-04 20:28:05