修改

开的4年前

关闭4年前

上次修改时间4年前

#3774 关闭 缺陷 (固定的)

<=和>与Null的比较错误=

报告人: AlanPary公司 所有者: Jpm公司
里程碑: 3.3.15.4 组件: AutoIt(自动识别)
版本: 3.3.14.5 严重程度:
关键词: 复写的副本:

描述

如果有人运行这个

如果Null=3,则控制台写入(“=”&@CRLF)如果Null<3,则控制台写入(“<”&@CRLF)如果Null>3,则控制台写入(“>”&@CRLF)如果Null<=3,则ConsoleWrite(“<=”&@CRLF)如果Null>=3,则ConsoleWrite(“>=”&@CRLF)如果为空<>3,则控制台写入(“<>”&@CRLF)如果Null==3,则控制台写入(“==”&@CRLF)

则<=和>=为True,这不可能是预期的。当<和=都为假时,为什么<=为真?

a<=b是否已实现为Not(a>b)?这可能就是问题所在。

(同样,<>的结果也有问题,因为其他一些语言会将其视为错误,但我对autoit在这种情况下的选择感到满意,更改<>可能会破坏脚本)

根据3.3.14.5和3.3.15.3进行测试

艾伦

附件(0)

更改历史记录(3)

注释:1 改变4年前由Jpm提供

你好,
事实上医生错了
Null是一个特殊关键字,只有当变量受Null影响时,比较才为真
请参见以下内容

本地$i=空如果Null=$i,则控制台写入(“=Null”&@CRLF)如果Null=“”则控制台写入(“=”&@CRLF)如果Null=0,则控制台写入(“=”&@CRLF)

我会修好医生

评论:2 改变4年前由Jpm提供

  • 里程碑设置为3.3.15.4
  • 所有者设置为Jpm公司
  • 分辨率设置为固定的
  • 状态已从更改新的关闭

通过修订修复[12361]版本:3.3.15.4

注释:3 改变4年前作者:AlanPary

你好,
我不认为这是一个文档问题。
为什么

如果Null<=3,则ConsoleWrite(“<=”&@CRLF)如果Null>=3,则ConsoleWrite(“<=”&@CRLF)

执行ConsoleWrite-他们不应该!正确地说,这些不会:

如果Null=3,则控制台写入(“=”&@CRLF)如果Null<3,则ConsoleWrite(“<”&@CRLF)如果Null>3,则控制台写入(“>”&@CRLF)

您的示例使用了=运算符,它实现了我的预期。<和>操作符也工作得很好,但我认为<=和>=操作符被窃听了。
艾伦

发表评论的指南:

  • 您不能重新打开票据,但如果您有其他信息需要添加,您仍然可以留下评论。
  • 应就论坛.

有关更多信息,请参阅完整版本的票务指南在这里.

添加注释

修改票据

行动
已关闭业主仍将是Jpm。
作者


电子邮件地址和用户名可以保存在偏好.

 
注:请参见TracTickets公司有关使用的帮助门票。