问题标签 [expr]

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 投票
1 回答
35 浏览

variables - 在带有 Nullif 的表达式中使用变量失败

我正在使用下面的代码将空字符串转换为 Null。我没有收到错误,但它仍然是一个空字符串。
我怀疑变量col_name的使用不正确expr

0 投票
0 回答
13 浏览

expr - 进行百分比计算时出现 expr 语法错误

我试图在下面的表达式中获取空值的百分比,但由于语法错误而出错。

$thres 在脚本中被评估为 0 并且 $file_rec 被评估为 4

0 投票
1 回答
57 浏览

julia - 如何根据function和argtypes获取julia代码的exprs?

我是 Julia 的新手。我读了一篇关于 julia 静态分析的文档。它提供了一个功能。

并使用 julia 内省函数 code_typed 获取输出:

它有一个 Expr 。但是当我调用 code_typed 时,输出是:

它有一个 CodeInfo。它与 doc 中的输出不同。

朱莉娅有什么变化吗?以及如何根据我的函数和 argtypes 获得 Expr?

0 投票
1 回答
175 浏览

haskell - Haskell 评估算术表达式和分配变量

我有一个名为 expr 的数据类型,如下所示:

我想要做的是扩展 Expr 数据类型以允许变量和“让”表达式

0 投票
3 回答
196 浏览

tcl - 为什么 Tcl expr 将某个数字视为“空”,而它实际上不是空的?

问题陈述

我正在从未知来源导入一组坐标,我无权查看。

它工作正常。

yMin:<-6.149999999999999e-02>

括号用于检查是否有任何空格甚至隐藏的选项卡。但是,如果yMin乘以任何数字,例如 0.5,就会出错。


在执行
从“set Y2 [expr {0.5 * $yMin}]”中调用的“expr {0.5 * $yMin}”时,不能使用空字符串作为“*”的操作数

即使只打印了yMin,它仍然有空操作数错误。

表达式“”中的空表达式(解析表达式“”)
从“expr $yMin”
中调用 从“set Y1 [expr $yMin]”中调用

但是有一个有趣的测试。如果添加花括号,它会起作用!

Y1:<-0.06149999999999999>


如何重现问题

感谢 Glenn Jackman(请参阅下面的回复),

实际上,这似乎无法重现问题(这就是我有这篇文章的原因)。但它至少可以是一个模板。


试错

以下代码用于检查它是否真的为空。原来不是空的。

yMin 不为空:<-6.149999999999999e-02>

最后,我尝试了trimmapregsub来删除任何空格和制表符,但它们都不起作用。

trim_yMin: <-6.149999999999999e-02>
map_yMin: <-6.149999999999999e-02>
reg_yMin: <-6.149999999999999e-02>
trim_yMin is not empty: <-6.149999999999999e-02>
map_yMin is not empty: <-6.149999999999999e-02 >
reg_yMin 不为空:<-6.149999999999999e-02>

这里我只显示regsub的结果。其他人的结果是一样的。

在执行从“set reg_Y2 [expr {0.5 * $reg_yMin}]”中调用的
“expr {0.5 * $reg_yMin}”时,不能使用空字符串作为“*”的操作数

请你帮助我好吗?我真的不知道我还能尝试什么。提前致谢。


更新和回复

埃尔贡

{-4.599999999999999e-02 -6.14999999999999e-02} {8.000000000000002e-02 6.149999999999999e-02}
yMin: <-6.149999999999999e-02>


在执行
从“set Y2 [expr {0.5 * $yMin}]”中调用的“expr {0.5 * $yMin}”时,不能使用空字符串作为“*”的操作数

贝纳哈

value 是一个引用计数为 4 的字符串,对象指针位于 0x44ed0910,内部表示 0x450d6120:(nil),字符串表示“-6.14999999999 ....”

肖恩

value 是一个引用计数为 4 的字符串,对象指针位于 0x44ed6030,内部表示为 0x450de4b0:(nil),字符串表示“-6.1499999999 ...”

2d362e313439393939393939393939393939652d3032

value 是一个字节数组,引用计数为 3,内部表示为 3,对象指针位于 04460 0x44ee0dc0:(nil),字符串表示“-6.1499999999...”

1

值是引用计数为 4 的 double,对象指针位于 0x44ed6030,内部表示 0xbfaf7ced916872af:(nil),字符串表示“-6.1499999999...”

Y2:-0.030749999999999996
新_Y2:-0.030749999999999996

谢尔特布朗来说,

错误信息已更改!也许它表明了什么?

value 是一个引用计数为 4 的字符串,对象指针位于 0x44ec28a0,内部表示 0x450be540:(nil),字符串表示“-6.1499999999...”

value 是一个引用计数为 2 的字符串,对象指针位于 0x446bbc70,内部表示 0x44695fd0 :(nil),字符串表示“-6.149999999...”

不能使用非数字字符串作为“*”的操作数,
同时执行

“set Y2 [expr {0.5 * $yMin}]"

如果在 string 为 double -strict $yMin 后值变为 double 后计算仍然失败,则取二进制编码十六进制 $yMin 的结果,将其转换回字符串(使用二进制解码十六进制)并在计算。

yMin 是双倍的吗?:1
yMin:-6.149999999999999e-02
double yMin 的二进制:2d362e313439393939393939393939393939652d3032
双二进制双精度:-6.149999999999999e-02
不能使用空字符串作为“*”
在执行“expr {} 0 * $double_”
中的操作数 {} “设置 Y2 [expr {0.5 * $double_binary_yMin}]”

你用 tcl::mathop::* 0.5 $yMin 得到什么?


在执行从“puts [tcl::mathop::* 0.5 $yMin]”中调用的
“tcl::mathop::* 0.5 $yMin”时,不能使用空字符串作为“*”的操作数


相关帖子

  1. 为什么 Tcler 建议支持你的expressions?
  2. 这是什么意思-不能在tcl-上使用空字符串作为“*”的操作数?如何解决
  3. 如何在 TCL 中去除字符串中的空格?
  4. 使用 TCL 从文件中读取字符串后从字符串中删除空格
  5. tcl 脚本中@处缺少操作数
  6. 确定 Tcl 中变量的类型
0 投票
1 回答
34 浏览

python - Gurobi QuadExpr:我应该改变什么到 y.value

当我运行上面的程序时,输出如下。我应该如何改变它?我想输出 y (i) 来计算值。

上面的输出如下。

0 投票
3 回答
72 浏览

list - 我需要插入计数的输出,从 TCL 中可变“列表”中的循环“for”递增

我想在“[list]”模式下列出变量循环的“$ i”中的增量。那时,我可以用“[expr]”计算值。

我将在这里留下一个教学示例,以简化这个想法。看:

结果 在此处输入图像描述


我的困难是将这些连续的增量保持在一个变量内。

在这种模式下:

只有最后一个增量/数字被添加到变量中。

正如我之前所说,我需要存储这些数字以便以后计算。就像是:

警告- “出于教学目的,我举了一个序数和序列为 '1 - 9'让可以帮助的同事非常清楚,不要建议手动编写列表。一旦我从包含 1000 行编号的文件中提取行,这意味着,我正在使用动态和非顺序问题中的数字。我只做了'1-9'来举例说明这个问题。我自己收到答案后,我会根据我的script.tcl调整解决方案。“

0 投票
2 回答
44 浏览

regex - 当正则表达式中有可选子字符串时如何使用`expr`?

我想go[^ ]+使用expr. 输出应该是1.17.61.18-becaeea119

但是,这devel部分是可选的,我想不出一种方法来正确地忽略它expr

使用普通的正则表达式,我会这样做,(?: devel)?但由于某种原因expr不支持?

有没有办法expr在一个命令中实现这一点?

0 投票
1 回答
58 浏览

bash - 使用 shell 变量选择 awk 列标识符

这个有效:

这个没有(fieldnumber 存储我希望搜索的列,val 存储我正在搜索的值):

我正在尝试根据 shell 脚本中的命令行输入来操作 awk 命令: ./dr.sh cop4342 exam1 84(84 是要搜索的值)(exam1 在 shell 脚本中用于查找列号)

代码图像 代码输出