问题标签 [proc-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby:将proc转换为lambda?
是否可以将 proc 风格的 Proc 转换为 lambda 风格的 Proc?
有点惊讶这不起作用,至少在 1.9.2 中:
ruby - Ruby Proc:从 B 类中从 A 类调用方法,并使用 B 类的“方法”
我不确定这是否真的可行,但我无法在任何地方找到明确的答案。此外,我发现很难仅用“搜索词”来定义我的问题。所以很抱歉,如果这已经在其他地方得到了回答,我找不到它。
我想知道的是是否可以创建一个 Proc 来保存一个未在定义 Proc 的位置定义的方法。然后我想将该实例放入另一个具有该方法的类中,并使用提供的参数运行该实例。
这是我想要完成但不知道如何完成的示例。
产生以下错误
而且我想我明白为什么,这是因为它试图run
在实例上调用该方法,MyClassA
而不是在MyClassB
. 但是,有没有办法让run
命令调用MyClassB
的run
实例方法?
ruby - 我们如何在不同的 Ruby 类之间复制单例方法?
我正在尝试定义一个具有方法的类,以及一个缺少这些方法的类,然后允许后一个类的对象从前一个类的实例中“学习”这些方法。
这是我的尝试(Ruby 1.9.2) - 当我尝试更改 lambda 绑定中的“self”值时,它会中断(在注释为“BREAKS!”的行处)。
如果你能弄清楚如何解决这个问题——我会很想知道的。
这个的输出是:
ruby - Ruby Proc 语法
我昨天在这里提出的问题的答案是以下 Ruby 代码:
我明白each_cons
了,但奇怪的&:begin
符号是什么?把我从语法地狱中拯救出来!
谢谢!
ruby - Ruby:Proc.new { 'waffles' } 与 proc { 'waffles' }
Proc.new { 'waffles' }
在 Ruby 中,和之间有什么区别proc { 'waffles' }
吗?我发现很少提及第二种语法。
通过使用 进行测试irb
,我没有发现任何明显的差异。第二个语法糖是第一个吗?
ruby - 这是 Method#to_proc 中的错误吗?(红宝石 1.8.7)
给定以下采用一个参数的方法:
我可以用一个空数组来调用它:
我也可以将它保存为一个Method
对象并用一个空数组调用它,结果相同:
但是,如果我将Method
对象转换为 a并使用空数组Proc
调用它ArgumentError
,我会得到:
我希望它的行为与前两种情况相同。相反,它似乎表现得好像我写了foo(*[])
. 但是,如果我用非空数组调用它,它的行为确实符合我的预期:
所以它解构了参数,但前提是参数恰好是一个空数组。只有当我打电话时Method#to_proc
。
我对如何Method
或Proc
工作的理解存在差距,还是这是一个错误?
我正在运行 Ruby 1.8.7-p299。我在 1.8.6-p399 和 1.8.7-head 中观察到相同的行为。但是,我在 1.9.1-p378 中看不到它:[]
当使用空数组调用时,所有三种表单都会打印。
ruby-on-rails - 设置属性有问题
我有一个项目ActiveRecords
,我正在尝试使用一个块为每个项目设置一个默认值(“测试项目”)。
在这个表达式中:
值未设置。
我必须使用@item.attributes["#{name}"]
插值,因为我不能对每个项目都这样做:
那么,第一个语句会发生什么?为什么?如果我想做的事情不可能那样做,我怎么能做同样的事情?
ruby - 在 Ruby 的 DSL 中使用 procs
为了用户方便和更简洁的代码,我想编写一个可以像这样使用的类:
现在的挑战是,让这些参数在我的编码方法中可用。
这种方法行不通。调用 Proc 时,不会在 Theora 类的上下文中评估变量。通常我想使用 method_missing 将每个参数放入 Theora 类的类变量中,但我没有找到正确的输入方式。
谁能指出我正确的方向?
ruby-on-rails - 为什么使用 Proc.new 在 Rails 回调中调用方法?
在 RoR 的所有教程中,我看到了编码人员选择使用 Proc.new 的实例,而这似乎既不必要又没有吸引力。
例如,这是一个放置在模型中的回调,一个使用 Proc.new 另一个大概做同样的事情:
那么有什么区别呢?为什么使用 Proc?他们不是都叫“paid_with_card”吗?方法?
提前致谢