问题标签 [expression-evaluation]

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 投票
4 回答
1767 浏览

bash - sed 用 number-1 替换数字

sed 可以处理替换并同时评估表达式以某种方式替换吗?

例如,我在文本文件中有以下条目:

由于我不会深入讨论的原因,相对于我迄今为止使用的另一个编号方案,每棵树的编号都是 N+1。

可以 sed (或任何实用程序,sed 只是我的查找和替换操作),找到每个实例TreeN并将它们替换为TreeN-1这样,上面的行看起来像:

(使用 Ubuntu 12.02,几乎什么都可以。)

0 投票
1 回答
44 浏览

r - 分配给 R 中的环境

编码:

导致错误:“未找到 X”

然而:

返回“X”

为什么 eval 不返回 2?

0 投票
2 回答
2955 浏览

r - R:获取传入`...`的参数名称

在用于提供参数列表的简单函数中...,该函数是否可以找到从调用环境传递的对象的名称?如果是这样,怎么做?

这出现在问题的上下文中,并排打印矩阵和向量,但可能更普遍。

在这种情况下,参数...还可以包括不需要名称的字符串。这是我的 MWE,我尝试使用deparse(substitute()),但无济于事。

测试:

我想要的输出是长度为 7 的字符向量:

令人惊讶的是,结果都是X[[i]],而在任何地方都没有X提及。

按照@Roland的回答,这似乎符合我的要求:

0 投票
2 回答
158 浏览

macros - 在 Racket 中记录评估步骤和中间值的宏?

作为学习 Racket 宏系统的练习,我一直在实现一个基于C++ catch 框架的单元测试框架。该框架的一个特点是,如果我写这样的支票:

当检查被违反时,错误消息将打印出 x 和 y 的值,即使使用的宏是完全通用的,不像其他测试框架需要您使用 CHECK_EQUALS、CHECK_GREATER 等宏。这可以通过一些hackery涉及表达式模板和运算符重载。

在我看来,在 Racket 中你应该能够做得更好。在 C++ 版本中,宏看不到子表达式内部,因此如果您编写如下内容:

当检查被违反时,您只能找到等号左右两侧的值,而不是 x、y 或 g(y) 的值。在球拍中,我希望应该可以递归到子表达式并打印一棵树来显示评估的每个步骤。

问题是我不知道最好的方法是什么:

  • 我已经相当熟悉语法解析,但这似乎超出了它的能力。
  • 我读到了关于自定义 #%app 的内容,这几乎就像我想要的那样,但是如果例如 f 是一个宏,我不想打印出扩展中表达式的每个求值,而只是打印出表达式的求值当用户调用检查宏时可见。也不确定我是否可以在不定义语言的情况下使用它。
  • 我可以使用 syntax-parameterize 来劫持基本运算符的含义,但这对 g(y) 之类的函数调用没有帮助。
  • 我可以使用 syntax->datum 并手动遍历 AST,自己在子表达式上调用 eval。这似乎很棘手。
  • 跟踪库几乎看起来像我想要的那样,但你必须预先给它一个函数列表,而且它似乎不能让你控制输出的去向(我只想打印任何东西,如果检查失败,而不是如果它成功,所以我需要在执行过程中将中间值保存到一边)。

实现这一点的最佳或至少是惯用的方法是什么?

0 投票
1 回答
734 浏览

r - Evaluate strings for regression

From these strings

, I am trying to perform a linear model. I tried things like

where the last line was aimed to be equivalent to

0 投票
2 回答
68 浏览

java - 评估java中特定要求的表达式

我有Expression对象,它具有以下内容:

  1. 操作员
  2. 范围
  3. 价值

提到的每个简单表达式都可以组合成一个复合表达式。

一个复杂的示例看起来像 ((1AND2)OR(3OR4)) 其中 1,2,3,4 是 Expression 对象。我正在寻找一种逻辑来根据表达式中的括号偏好来评估表达式。注意: CompoundExpressionExpression的扩展类,因此最终输出是 Expression 对象。容易解决吗?如果不是,我有什么选择

0 投票
0 回答
637 浏览

java - 从 struts 2.1 升级到 struts 2.5 的问题

我们正在将 Struts2 从 2.1 升级到 2.5,并将所有代码从 2.1 版本(运行良好)迁移到 2.5 版本。

我们一直在解决几个小问题,但其中一个特别引起了我的注意。在旧版本中,我们访问的值是:

但是,这在我们的新版本中不起作用。我将上面的行更改为:

这非常有效。

现在的问题是在许多其他 jsp 文件中都调用了此方法。

我的问题是:

有什么办法可以通过配置来改变吗?或者我基本上必须像在旧版本中那样改变每一行?

另外,这个问题是因为版本的变化而发生的吗?是否有任何文档讨论此更改?

0 投票
1 回答
37 浏览

c++ - 评估这个的顺序是什么,为什么?C++

首先评估哪个 foo 函数调用,为什么?我发布的代码已简化,因此无需跟踪它。谢谢你

0 投票
3 回答
77 浏览

r - 在 R 中的表达式中使用字符串

我需要在 data.frame 上设置一个属性,但我想从变量传递 data.frame 名称。我尝试了几种引用、替换、解析、表达式的组合,但都没有成功。怎么做?

0 投票
1 回答
56 浏览

javascript - (1) 和 1 之间的 JavaScript 歧义

(1) 和 1 有什么区别。