[Windows10][V1.30.18][文档]所有传递参数的操作都无法直接发送"$="开头的文本,希望能够更新文档说明转义问题

功能建议 · 1741 次浏览
肆炎 创建于 2022-04-04 00:38

环境信息:

平台:Window10

版本:V1.30.18

复现步骤:

新建组合动作,尝试发送文本"$=ABC"到窗口,或者写入纯文本"$=ABC"到剪贴板、将值为"$=ABC"的文本变量传递给子程序,都会被Quicker当做脚本表达式来执行,从而报错:

原始表达式:ABC
开始位置:0
附近代码:ABC
内部错误:Oops! A null expression has been found. A not null statement was expected.. The error occurred for expression "ABC" at position 0 near "ABC".(写入剪贴板)

问题原因:

简单来说,就是$$和$=这两个表达式必须通过特定的形式转义……因为有【插值嵌套】的设定,又没有说明转义符,导致$=或者$$开头的文本能够被无限递归解析。

包括$$$${text}、$$$$$${text}、$$$={text}、$$$$$={text}都无法对其正常转义。

解决方式:

使用$= return "$=ABC"$= return {text}$= "$=ABC"$= {text}来代替$$插值表达式以及直接选择变量的传参形式。

相关建议:

希望能在【表达式】【插值嵌套】的文档中稍微补充说明下这个设定,因为这问题实在是太难找到具体原因了。


回复内容
zetalpha 2022-04-04 00:40
#1

$="$=ABC"

肆炎 回复 zetalpha 2022-04-04 00:49 :

其实我最后也最后试出来了能通过上述方式进行转义,但是还是希望能更新一下文档。

因为这个问题发生的频率特别小,然后又比较绕,用户报错了第一时间很难想到具体是什么原因。

而且即使找到原因了,也要花时间去一个一个测试$$$$、\$、\\$$、^$之类的转义方式,非常的麻烦。

肆炎 2022-04-04 00:44
#2


肆炎 最后更新于 2022-04-04 00:49
CL 2022-04-04 08:41
#3

感谢建议,已修改。

回复主贴