发表回复 
关于 if 语句的一个 疑问
2009-10-09, 16 : 40
关于 if 语句的一个 疑问
代码: (全选)
if last_w = U
if this_w = D
{
if time_w < 12
Send ^{f1}
time_w := 0
}
代码: (全选)
if last_w = U && this_w = D
{
if time_w < 12
Send ^{f1}
time_w := 0
}
以上两段语句 为啥只有第一段可以执行? 第2段 死活不能执行?
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-09, 16 : 50
 
要注意括号的使用

AutoHotKey Ansi x86 v1.1.24.01
Win10.0.14388 x64
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-09, 20 : 12
 
试试看if (last_w = U && this_w = D)
IF后面接表达式最好加上括号
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-09, 21 : 20
 
if (last_w ="U" && this_w = "D")
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-09, 21 : 31
 
[i=s] 本帖最后由 ahpzf 于 2009-10-10 18:50 编辑 [/i]

引用:if (last_w ="U" && this_w = "D")
BLooM2 发表于 2009-10-9 21:20 [Image: back.gif]

楼主有两段不同代码.
如果第一段代码能执行的话,我认为应该是3L的写法.


Updata: 我忘记了加了括号就是取值了.因此4L的才正确 last_w = U 加上括号就要改成 (last_w = "U")的形式..
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-10, 08 : 46
 
感谢几位的回复 1楼和2楼的 我已经试过 还是不行 .
3楼的我这就去试 ,不过为什么要加""呢
ahk的语言规范到底是参照哪种 执行的? 或者哪里有这种 规范可以参考?
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-10, 10 : 10
 
按照4楼的写就可以了,我只说注意括号,就是因为ahk里的等号比较混乱,真是一言难尽啊。括号,引号,百分号,不过用几次应该就习惯了。

AutoHotKey Ansi x86 v1.1.24.01
Win10.0.14388 x64
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-10, 11 : 35
 
代码: (全选)
if ( last_w = "U" && this_w = "D" ){
    if time_w < 12
        Send ^{f1}
    time_w := 0
}
修改成这样 的确可以了
不过还是 一头雾水... "U" 和 U 到底在机器码里被 认成什么样不同的东西了
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2009-10-10, 13 : 13
 
if 后面如果紧跟左括号,或者有函数调用,则被认为是 表达式if语句。
如果不满足以上条件,则被认为是 传统if语句。
这2种if语句用法是有区别的。
帮助里面关于if有“if”和“if (expression)”2页,这2页你都仔细看看(都有汉化),了解一下它们的区别。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2014-07-13, 20 : 19
RE: 关于 if 语句的一个 疑问
参见AHK.Wiki.字面量、表达式

One for all, but man for himself

帮推广:AHK知乎专栏
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合