在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