问题标签 [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.
variables - 在带有 Nullif 的表达式中使用变量失败
我正在使用下面的代码将空字符串转换为 Null。我没有收到错误,但它仍然是一个空字符串。
我怀疑变量col_name
的使用不正确expr
expr - 进行百分比计算时出现 expr 语法错误
我试图在下面的表达式中获取空值的百分比,但由于语法错误而出错。
$thres 在脚本中被评估为 0 并且 $file_rec 被评估为 4
julia - 如何根据function和argtypes获取julia代码的exprs?
我是 Julia 的新手。我读了一篇关于 julia 静态分析的文档。它提供了一个功能。
并使用 julia 内省函数 code_typed 获取输出:
它有一个 Expr 。但是当我调用 code_typed 时,输出是:
它有一个 CodeInfo。它与 doc 中的输出不同。
朱莉娅有什么变化吗?以及如何根据我的函数和 argtypes 获得 Expr?
haskell - Haskell 评估算术表达式和分配变量
我有一个名为 expr 的数据类型,如下所示:
我想要做的是扩展 Expr 数据类型以允许变量和“让”表达式
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>
最后,我尝试了trim、map和regsub来删除任何空格和制表符,但它们都不起作用。
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”时,不能使用空字符串作为“*”的操作数
相关帖子
python - Gurobi QuadExpr:我应该改变什么到 y.value
当我运行上面的程序时,输出如下。我应该如何改变它?我想输出 y (i) 来计算值。
上面的输出如下。
list - 我需要插入计数的输出,从 TCL 中可变“列表”中的循环“for”递增
我想在“[list]”模式下列出变量循环的“$ i”中的增量。那时,我可以用“[expr]”计算值。
我将在这里留下一个教学示例,以简化这个想法。看:
我的困难是将这些连续的增量保持在一个变量内。
在这种模式下:
只有最后一个增量/数字被添加到变量中。
正如我之前所说,我需要存储这些数字以便以后计算。就像是:
警告- “出于教学目的,我举了一个序数和序列为 '1 - 9'让可以帮助的同事非常清楚,不要建议手动编写列表。一旦我从包含 1000 行编号的文件中提取行,这意味着,我正在使用动态和非顺序问题中的数字。我只做了'1-9'来举例说明这个问题。我自己收到答案后,我会根据我的script.tcl调整解决方案。“
regex - 当正则表达式中有可选子字符串时如何使用`expr`?
我想go[^ ]+
使用expr
. 输出应该是1.17.6
和1.18-becaeea119
。
但是,这devel
部分是可选的,我想不出一种方法来正确地忽略它expr
。
使用普通的正则表达式,我会这样做,(?: devel)?
但由于某种原因expr
不支持?
。
有没有办法expr
在一个命令中实现这一点?
bash - 使用 shell 变量选择 awk 列标识符
这个有效:
这个没有(fieldnumber 存储我希望搜索的列,val 存储我正在搜索的值):
我正在尝试根据 shell 脚本中的命令行输入来操作 awk 命令:
./dr.sh cop4342 exam1 84
(84 是要搜索的值)(exam1 在 shell 脚本中用于查找列号)