问题标签 [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 投票
2 回答
197 浏览

ruby - 另一个 proc 与 lambda 的讨论

我认为当您在方法中调用 proc 时,proc 的返回值会触发从调用 proc 的 out 块上下文返回。当我打电话时,test(a_block)我觉得puts "after the block"不应该执行,因为 proc 有一个返回值。进一步......test(a_block)并且test(b_block)行为完全相同。我以为这里应该有区别?

0 投票
2 回答
57 浏览

ruby - 这个 lambda 发生了什么?有人能解释一下吗

请让我参考一些链接来揭开这个神秘面纱......

0 投票
2 回答
3355 浏览

ruby - 如何在类变量中定义的 lambda/Proc 中使用实例变量?

我写了以下代码:

但是,当@commands散列是类变量时,这可行,散列中的代码不知道@people数组。

如何使@commands哈希成为类变量并且仍然能够访问特定的对象实例变量?

0 投票
3 回答
2803 浏览

ruby-on-rails - 为什么在使用 Proc.new v. & 符号时,ruby 中的 break 语句表现不同?

块的 break 语句(根据 Ruby 编程语言)定义如下:

它使块返回到它的迭代器,而迭代器返回到调用它的方法。

因此,当运行以下代码时,会导致 LocalJumpError。

虽然以下代码不会引发 LocalJumpError。& 符号有什么特别之处?& 符号不是隐式使用 Proc.new 吗?

换句话说,我将 & 符号作为内联 Proc.new 调用的一种方式。此时行为应该与第一个代码片段相同。

免责声明:我是学习语言的新手(ruby 1.9.2),因此会欣赏参考资料和详细的概要。

0 投票
3 回答
146 浏览

ruby - 将 self 应用于 proc 的方法

我想定义一个方法,Object该方法需要一个块并将接收器应用于该块。实现将如下所示:

是否已经有一种标准方法可以做到这一点,或者有一个众所周知的库有类似用途的方法?如果是这样,我不想重新发明轮子。

我经常遇到这样的情况,我有一个方法,它接受一个可选块,当没有块时,我想返回return_value方法内计算的一些,但是当有块时,我想返回返回值return_value应用于块。现在,我有很多行,例如:

但我想始终如一地写

甚至更好,对 的定义稍作修改apply

0 投票
4 回答
138 浏览

ruby - 为什么可以在 ruby​​ 1.9 中使用 === 调用 procs?

本文提到了 ruby​​ 1.9 中调用 procs 的 4 种方法,=== 就是其中之一。我完全不明白为什么会这样。和 === 的正常含义有什么关系(询问两个对象是不是同一个对象)?

0 投票
2 回答
3786 浏览

ruby - 为什么使用过程而不是方法?

我是编程新手,而 ruby​​ 是我第一次真正接触它。我得到了块,但 procs 似乎是一个轻量级的方法/函数概念——为什么要使用它们?为什么不只使用一种方法?

谢谢你的帮助。