相关疑难解决方法(0)

何时使用lambda,何时使用Proc.new?

在Ruby 1.8中,proc/lambda与另一方面之间存在细微差别Proc.new.

  • 这些差异是什么?
  • 你能给出如何决定选择哪一个的指导方针吗?
  • 在Ruby 1.9中,proc和lambda是不同的.这是怎么回事?

ruby lambda proc

332
推荐指数
10
解决办法
8万
查看次数

Ruby类,包含和范围

包含模块如何影响范围?具体来说,在这个例子中:

module ModuleA
  class ClassA
    def initialize
      puts "test passed"
    end
  end
end

module ModuleB
  include ModuleA

  # test 1
  C = ClassA.new

  class ClassB
    def initialize
      c = ClassA.new
    end
  end
end

# test 2 and 3 fail without this
#include ModuleB

module ModuleC
  # this doesn't help
  include ModuleB

  # test 2
  ClassB.new

  # test 3
  ModuleB::ClassB.new
end
Run Code Online (Sandbox Code Playgroud)

测试1工作正常,但测试2测试3失败而没有注释掉import ModuleB.

  • 为什么ClassAModuleB(测试1)范围内但不在ClassB
  • 为什么import ModuleB把 …

ruby scope module

1
推荐指数
1
解决办法
5251
查看次数

标签 统计

ruby ×2

lambda ×1

module ×1

proc ×1

scope ×1