“键不存在时返回空值” 这个应该默认为 不勾选 吧?

使用问题 · 1450 次浏览
K_Y_D 创建于 2021-01-26 21:10

Quicker版本:1.22.31

  词典操作:取值中,“键不存在时返回空值” 这个应该默认为 不勾选 吧?旧版本我记得是,如果键不存在就直接失败呀

  今天更新版本后发现动作出现了奇怪的问题,仔细一检查才发现是 “键不存在时返回空值” 默认为勾选导致的,子程序没被索引越界中止。

能改回默认为 不勾选 吗?呃,如果不能我就改动作吧。


回复内容
CL 2021-01-26 21:27
#1

这个有点没搞好。我再考虑一下。


整理一下思路...

再之前较早的版本里没有“失败后停止”的选项,如果键不存在会默认返回空值,是否成功会返回False,但不会停止动作。

新版增加了一个失败后停止的选项,这导致无论如何似乎都没法还原之前版本的行为。

- 失败后停止 + 键不存在时返回空值: “是否成功” 会返回True。(如果返回False,就和“失败后停止” 矛盾了)

- 失败后停止 + not 键不存在时返回空值:动作会停止。

- not 失败后停止 + 键不存在时返回空值: 是否成功会返回True,(如果返回False,就会显示一个错误的提示消息)

- not 失败后停止 + not 键不存在时返回空值:是否成功会返回False.   似乎这个比较兼容旧版。

K_Y_D 2021-01-26 21:42 :

@_@ 这就麻烦了呀。。。

K_Y_D 2021-01-26 22:11 :

要不根据动作编写时所用的quicker版本,采取不同的默认值?这应该能彻底解决兼容性的问题,就是不知道会不会太麻烦

Marcus-5折CDN 2021-01-27 10:03
#2

1.11.8版本用得比较久了,建议可以跟这版保持一致

Ever 2021-01-27 12:33
#3

现在词典确实不能完全兼容以前版本。

旧版本是:获取失败,返回false,同时也返回空值

目前新版:获取失败,默认勾选返回空,但是却不返回false了。

目前问题:如果需要做到返回空又要返回false就没法做到失败后停止了,我返回空就成功返回了,所以只能true。

如何解决:需要在动作里改,以前通过“成功与否”来判断的,现在就改成“为空与否”来判断就能兼容。

治钧 2021-01-28 14:31
#4

我有一个想法,似乎可以比较好的解决:

只要不勾选「失败后停止」,就不提示错误,不管「是否成功」有没有指定变量。当然默认是勾中的,这个失败的处理的责任交给动作开发者。

针对之前动作的话,就是 ①返回失败;②返回空值;③失败后停止不勾中

回复主贴