UiBot本身逻辑bug

秦峰_363475 2020-11-11 839

"转为逻辑数据"命令在将非空字符串转换为逻辑值时错误。版本:5.3.0

_UiBot本身逻辑bug

_UiBot本身逻辑bug


最新回复 (7)
  • Chu 2020-11-12
    2
    把字符串“a”转为逻辑数据,本身是一种未定义的行为,也就是说实际上操作不合法,不保证能得到“正确”的结果(实际上也没有正确的结果),当然也不保证一定和Python保持一致。
  • 秦峰_363475 2020-11-12
    3
    Chu 把字符串“a”转为逻辑数据,本身是一种未定义的行为,也就是说实际上操作不合法,不保证能得到“正确”的结果(实际上也没有正确的结果),当然也不保证一定和Python保持一致。
    不只是python,所有的编程语言都认为:当字符串为空时逻辑值为false,当字符串不为空时逻辑值为true。而且对于UiBot本身而言,"123"的逻辑值为true,而"a"的逻辑值为false,这不合适吧。
  • 秦峰_363475 2020-11-12
    4
    我这个帖子没别的意思,只是希望官方开发人员能看到这个bug并修复
  • Chu 2020-11-12
    5
    我就是官方开发人员。你可以看到,至少在Java里面,并不是“字符串为空时逻辑值为false”
    https://blog.csdn.net/tangcaijun/article/details/8652174

    所以我认为这不能算是一个bug,各个编程语言都有自己的判断标准,没有定论
  • Chu 2020-11-12
    6
    另外,在C#里面,也规定了只有当字符串为"true"或者"false"的时候,才会转换为true或者false,否则一律抛出异常:
    https://docs.microsoft.com/zh-cn/dotnet/api/system.convert.toboolean?view=net-5.0#System_Convert_ToBoolean_System_String_
  • 秦峰_363475 2020-11-14
    7
    Chu 我就是官方开发人员。你可以看到,至少在Java里面,并不是“字符串为空时逻辑值为false” https://blog.csdn.net/tangcaijun/article/details/865 ...
    如果这不算一个bug,那是不是意味着对于UiBot而言"123" 跟 "a"有不同的含义?
  • Chu 2020-11-17
    8
    UiBot的做法是:尝试把字符串转为数字,如果不能转换,或者转换出来是0,就认为是false。从这个意义上来讲,"123"和"a"确实不一样。
返回
发新帖