我想在一个lambda中使用一个变量,并使结果Proc
保留该值,就像它是一个常数一样。固定值lambda
如果我做了以下
x = 5
f = lambda {x}
x = 4
f.call
我得到4.如何构建一个lambda(或PROC对象,或类似的东西),所以它总是返回什么x
在其施工时,无论x
的价值在当时的价值?
我有一个(可能很大)的一组动态生成的类,我希望每个人对于某个常量(连接客户端的主机名,FWIW)都有不同的值。由于我无法控制的原因,我不得不坚持使用多种子体系结构 - 我无法修改代码,以便各种主机名作为参数传递给构造函数。
你真的需要它是一个lambda? – Kroltan
我需要能够在代码中使用猴子补丁:'myclass.class_eval {define_method :: new_method,maybe_lambda_expression}' –
@AndrewCone你能解释一下你实际上想要做什么吗?真的,非假设的,未经编辑的条款? –