问题标签 [proc]

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 回答
1620 浏览

ruby - 如何将变量传递给动态更新的 Ruby proc?

这很好用,但是如果我想“绑定” v 让它动态更新怎么办。例如:

0 投票
3 回答
328 浏览

ruby - Ruby 块到数组

我正在尝试在方法中采用块参数,并将内容(符号数组)转换为数组。例如:

我知道在方法中只使用一个数组作为参数会更容易sequence,但我试图与另一种方法保持一致。

0 投票
2 回答
3988 浏览

java - Java Runtime.getRuntime().exec(); 没有运行程序

问题是我正在尝试制作一个游戏启动器,当您登录时它会开始实际游戏。

我被告知这样做的代码是Runtime.getRuntime().exec();

我可以运行简单的程序,Runtime.getRuntime().exec("firefox");但是当我尝试运行我的程序时,它没有启动。

这是我的代码

我也试过

我正在使用 linux Debian

java -version输出

感谢所有帮助

0 投票
2 回答
1109 浏览

ruby - 我可以将一个本身期望一个块的块传递给 ruby​​ 中的 instance_exec 吗?

我期待代码

输出

但是得到了错误

我可以将一个本身期望一个块的块传递给 ruby​​ 中的 instance_exec 吗?</p>

0 投票
3 回答
365 浏览

ruby - 哪个是 Ruby 已弃用的 proc?

在 Dave Thomas 与 Chad Fowler 和 Andy Hunt 所著的Programming Ruby: The Pragmatic Programmers Guide一书中,关于Procs 的创建,有一个脚注指出:

“实际上还有第三个,proc,但它实际上已被弃用。”

我找不到这是哪种方式。我知道以下创建方法Proc

1

2

3

我想知道第四种方式,如果有人能给我答案,我会很高兴。

0 投票
1 回答
2291 浏览

sas - SAS Proc IML:向量的长度

如果我有一个 10X2 的矩阵,并且将在 SAS 中存储另一个变量下的矩阵长度值(因此为 10)......它是如何在 PROC IML 中完成的?

0 投票
2 回答
211 浏览

ruby - 如何在 Ruby 中创建这个小 DSL?

我的职能是:

我想在我的方法块中临时增加一个函数。

hello_scope中,我只是想在将scope字符串str传递给原始hello方法之前将其添加到之前。这是一个例子:

当谈到 Ruby 中的这种事情时,我是个菜鸟。有人可以帮助我以优雅的方式解决这个问题吗?


编辑:

如果它使事情变得更容易,我们可以将方法作为参数传递给块,例如:

0 投票
2 回答
10478 浏览

ruby - 返回 procs、lambdas 和 blocks 中的语句

我在理解return块、procs 和 lambdas 中的工作原理时遇到了很多麻烦。

例如,在以下情况下,为什么batman_ironman_proc工作,而batman_yield抛出错误?

0 投票
1 回答
271 浏览

ruby - 在 ruby​​ 的类实例中运行带有参数的传递过程

这个例子有点做作,但它来自一个测试,所以它只是以这种方式工作,并将帮助我弄清楚如何在实际的库中使用它。我有一个 lambda,定义如下:

我想将它传递给一个对象并让 proc 在该对象的上下文中运行。该对象可能如下所示:

我熟悉使用 instance_eval 运行 proc 的解决方案。

但这不起作用,因为我需要将值传递给proc。我已经管理了类似工作解决方案的东西,但感觉很hacky并且容易出错。

所有其他方法都已满足undefined method process

0 投票
1 回答
98 浏览

ruby - ruby、程序和后台处理:混合使用的策略

我正在设计一个解决方案,它需要一批对象并将它们传送到一个队列中,以便异步/稍后处理。我的目标是针对delayed_job/resque/sidekiq 的解决方案,其中工作人员被编组/ yamled/任何内容到数据存储中并在单独的进程中处理。

所以,按照我的设计方式,我有这个工人,它接受对象 ID、它的类和必须在每个对象上运行的特定操作。为什么要存储 id 和类名?这些是易于编组的元素(字符串、整数),并且大多数数据存储对编组的数据有一定的限制(是的,列 TEXT 等)。到目前为止,一切都很好。

现在,罪魁祸首:看到那边的动作了吗?它不是方法标识符。它代表一个闭包(它将每个对象作为参数,并发挥其魔力)。这个闭包是一个 Proc,并且 procs (WHY, LORD, WHY????) 不可编组。

所以,这打乱了我的计划。我正在设计一种策略,在某处拥有一个单例标识符,并动态插入一个辅助隐藏方法,该方法返回闭包。因此,作业将使用 id、类名和此辅助方法标识符进行编组。当作业运行时,会在所有对象上运行该操作,最后我将从单例实例中动态删除此方法。为此,此标识符必须是唯一的,为此我使用了 proc 闭包的 object_id。到目前为止,一切都很好。问题是,通常后台队列在与将它们排入队列的进程不同的进程上运行作业。这意味着,当作业运行时,返回我的过程的动态注入方法不可用。

所以,我的问题细分为子问题:

  1. 如何有效地将一批对象排队以供以后处理,其中要对它们运行的​​操作不一定是现有方法?
  2. 如何解决proc编组?
  3. 如何建立进程通信(不使用一些 3rd 方技术消息队列,如果可能的话,只使用普通的 ruby​​)

有谁知道关于我的问题的其他策略?可能是共享内存、进程间通信等等?或者也许是“编组” procs 的策略?

更新:

我设计了一个使用 DRb 的解决方案,其中我分配辅助方法的这个单例对象作为 DRb 对象提供给外部进程。有向它添加危险的公共 API 的缺点。有人知道优点/缺点/替代方案吗?