请问有办法将字符串作为表达式运行吗?

使用问题 · 971 次浏览
iamadsl 创建于 2022-08-29 17:11

如图~


回复内容
CL 2022-08-29 20:07
#1

可以用计算模块试下

iamadsl 回复 CL 2022-08-29 20:44 :

https://getquicker.net/Sharedaction?code=b68bcd15-16cf-459d-ef11-08da88eb799b

唉,麻烦帮我看看还有没有救吧,始终报错

这里想实现的很简单,就是想不同的关键词(徽标文字)能自动生成一个字符串,作为徽标显示。因为关键词有十几个,不想写一堆IF了,别的动作里还有很多类似的情况,非常烦琐。如果这种映射方法可行,其他地方也有很大的用处,所以特别想实现出来,麻烦帮忙看看吧

编号和前缀2个变量已经指定了默认值,是我需要的典型值,可以直接运行测试

iamadsl 回复 CL 2022-08-29 20:52 :

更新了一下,之前的给错了,情况是要么报错(在计算前面加了$=),要么就是没执行表达式,而是作为字符串直接输出了

CL 回复 iamadsl 2022-08-29 21:31 :

看起来没问题啊, {映射}[{类型_文字_徽标文字}] 作为表达式解析的话,它的功能本身就是从词典里取值。 目前词典的值本身也是一个字符串的。如果你想对词典的值当做表达式再解析一遍,就用另外一个赋值模块,使用$$$=对上面步骤的结果插值后解析一下。

CL 回复 iamadsl 2022-08-29 21:32 :

不过还是不建议搞太绕的操作了。

iamadsl 回复 CL 2022-08-29 23:21 :

好吧,我已经成功绕晕了。。。还是老实点用插值,能解决到什么样算什么样吧。。。。

南风喃 2022-08-29 22:11
#2

你预期的结果是这样么


iamadsl 回复 南风喃 2022-08-29 23:10 :

呃,不是的,这样应该就不需要使用表达式了,直接插值就行了。{前缀}.Count()+{编号}.ToString(),我主要想实现的是表达式功能,能直接、快速一点生成相要的文本结果。理想情况是,我把任意表达式写进映射里,都能正常运算出结果

回复主贴