发表回复 
#If 与 If V1.1
2017-04-09, 14 : 06 (这个帖子最后修改于: 2017-04-09 14 : 20 by robertL.)
Smile #If 与 If V1.1
QA问答#If 和 if 之间的区别在哪 ?
更新至此。
  • #if 仅作用于静态的热键定义,先判断#if是否成立,再决定热键是否生效。
  • if是过程中的流程控制。

    如:
    代码: (全选)
    #if 条件1
        a::
            if 条件2
                Msgbox 成立
            else
                Msgbox 不成立
            exit
        #if
    • 若条件1成立时,热键a有效,a被触发时,进入热键过程,过程中依据条件2继续进入不同的分支。
    • 若条件1不成立,则热键a无效,a被触发时,不进入热键过程,不涉及条件2及其分支。
顺序#If→热键→热键过程中if
应用
  • 某些情况两者可以实现相同目的。
    如:
    代码: (全选)
    #if 条件
    a::Msgbox 成功
    #if !条件
    a::Msgbox 失败
    #if

    代码: (全选)
    a::
        if 条件
            Msgbox 成功
        else
            Msgbox 失败
        exit
    基本相同。
  • 某些情况,不能互换。

    代码: (全选)
    #if 条件
    a::return
    #if
    满足条件时,按键a失效。无法用if实现。
另参考原问的其他答案@bootislands1

One for all, but man for himself

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


论坛跳转:


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