问题标签 [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.

0 投票
5 回答
4645 浏览

ruby - Ruby:将proc转换为lambda?

是否可以将 proc 风格的 Proc 转换为 lambda 风格的 Proc?

有点惊讶这不起作用,至少在 1.9.2 中:

0 投票
3 回答
13177 浏览

ruby - How to pass parameters to a proc when calling it by a method?


Thanks :)

0 投票
1 回答
1389 浏览

ruby - Ruby Proc:从 B 类中从 A 类调用方法,并使用 B 类的“方法”

我不确定这是否真的可行,但我无法在任何地方找到明确的答案。此外,我发现很难仅用“搜索词”来定义我的问题。所以很抱歉,如果这已经在其他地方得到了回答,我找不到它。

我想知道的是是否可以创建一个 Proc 来保存一个未在定义 Proc 的位置定义的方法。然后我想将该实例放入另一个具有该方法的类中,并使用提供的参数运行该实例。

这是我想要完成但不知道如何完成的示例。

产生以下错误

而且我想我明白为什么,这是因为它试图run在实例上调用该方法,MyClassA而不是在MyClassB. 但是,有没有办法让run命令调用MyClassBrun实例方法?

0 投票
2 回答
795 浏览

ruby - 我们如何在不同的 Ruby 类之间复制单例方法?

我正在尝试定义一个具有方法的类,以及一个缺少这些方法的类,然后允许后一个类的对象从前一个类的实例中“学习”这些方法。

这是我的尝试(Ruby 1.9.2) - 当我尝试更改 lambda 绑定中的“self”值时,它会中断(在注释为“BREAKS!”的行处)。

如果你能弄清楚如何解决这个问题——我会很想知道的。

这个的输出是:

0 投票
3 回答
2352 浏览

ruby - Ruby Proc 语法

我昨天在这里提出的问题的答案是以下 Ruby 代码:

我明白each_cons了,但奇怪的&:begin符号是什么?把我从语法地狱中拯救出来!

谢谢!

0 投票
1 回答
4767 浏览

ruby - Ruby:Proc.new { 'waffles' } 与 proc { 'waffles' }

Proc.new { 'waffles' }在 Ruby 中,和之间有什么区别proc { 'waffles' }吗?我发现很少提及第二种语法。

通过使用 进行测试irb,我没有发现任何明显的差异。第二个语法糖是第一个吗?

0 投票
1 回答
741 浏览

ruby - 这是 Method#to_proc 中的错误吗?(红宝石 1.8.7)

给定以下采用一个参数的方法:

我可以用一个空数组来调用它:

我也可以将它保存为一个Method对象并用一个空数组调用,结果相同:

但是,如果我将Method对象转换为 a并使用空数组Proc调用ArgumentError,我会得到:

我希望它的行为与前两种情况相同。相反,它似乎表现得好像我写了foo(*[]). 但是,如果我用空数组调用它,它的行为确实符合我的预期:

所以它解构了参数,但前提是参数恰好是一个空数组。只有当我打电话时Method#to_proc

我对如何MethodProc工作的理解存在差距,还是这是一个错误?

我正在运行 Ruby 1.8.7-p299。我在 1.8.6-p399 和 1.8.7-head 中观察到相同的行为。但是,我在 1.9.1-p378 中看不到它:[]当使用空数组调用时,所有三种表单都会打印。

0 投票
3 回答
1026 浏览

ruby-on-rails - 设置属性有问题

我有一个项目ActiveRecords,我正在尝试使用一个块为每个项目设置一个默认值(“测试项目”)。
在这个表达式中:

值未设置。

我必须使用@item.attributes["#{name}"]插值,因为我不能对每个项目都这样做:

那么,第一个语句会发生什么?为什么?如果我想做的事情不可能那样做,我怎么能做同样的事情?

0 投票
4 回答
463 浏览

ruby - 在 Ruby 的 DSL 中使用 procs

为了用户方便和更简洁的代码,我想编写一个可以像这样使用的类:

现在的挑战是,让这些参数在我的编码方法中可用。

这种方法行不通。调用 Proc 时,不会在 Theora 类的上下文中评估变量。通常我想使用 method_missing 将每个参数放入 Theora 类的类变量中,但我没有找到正确的输入方式。

谁能指出我正确的方向?

0 投票
2 回答
11553 浏览

ruby-on-rails - 为什么使用 Proc.new 在 Rails 回调中调用方法?

在 RoR 的所有教程中,我看到了编码人员选择使用 Proc.new 的实例,而这似乎既不必要又没有吸引力。

例如,这是一个放置在模型中的回调,一个使用 Proc.new 另一个大概做同样的事情:

那么有什么区别呢?为什么使用 Proc?他们不是都叫“paid_with_card”吗?方法?

提前致谢