AutoHotKey的是是非非

作者: 河许人 | 来源:发表于2016-11-02 23:22 被阅读237次
    t01fdcc5ca7d25d2e79.jpg
    书呆子遇上耍流氓的没法玩了!

    谈到逻辑问题就像谈到了这个世界的家务事,是是非非说也说不清楚。既然讲AutoHotKey的是是非非,当然要普及一下逻辑的基本概念啦,根本上区分只有有两种逻辑:建立的逻辑和破坏的逻辑,任何逻辑都是凭空建立并且根本上无法自证的。举个简单的例子,假设1+1=2,依次推演所有四则运算法则,都是运用形式逻辑正向推演;使用辩证逻辑可对任何一道四则运算的所谓正确答题提出质疑,不论怎么质疑都会归结到质疑假设1+1=2上,于是形式逻辑等待除此之外的假设比如1+1=1之类的确立,可是辩证逻辑只管质疑不管确立假设,于是书呆子遇上耍流氓没法玩了,所以嘞理科生与文科生谈不来是有理论支持的,哈哈。

    算了,文理科这事咱们先放一边,1+1的事也先扔一边,总之,在很多假设上ahk就诞生了,还有了逻辑,基本的逻辑有哪些呢?

    等大小、与或非!

    在上一节课中,那个复杂的逻辑表达式害我做了两遍教程啊!我痛定思痛,把逻辑表达式重新看了一遍,逻辑关系是贯穿编程始终的,非逻辑的东西目前电脑还办不到,因此逻辑思路在编程中是极为重要的!autohotkey也不例外,还是从“等”开始吧!

    “等”

    “等”作为比较的话,两种形式= 和 ==,啥区别呢?

    用 = 比较字符串是不区分大小写的,而用 == 比较字符串是区分大小写的。

    a := "abc"b := "ABC"
    if (a = b)
    {
        ; 条件成立
    }
    if (a == b)
    {
        ; 条件不成立
    }
    
    
    #### “大”、“小”
    
    **大于(>)**, **小于 (<)**, **大于或等于 (>=)**, 和 **小于或等于 (<=)**. 如果某个输入不是数字, 则按字母顺序比较 (加了引号的原义字符串例如 "55" 在这种情况中总是被当成是非数值的). 仅当 [StringCaseSense]打开时, 比较才区分大小写. 另请参阅: [Sort]。
    大小很容易操作,几乎没什么特别的地方,这里就不深入讲解了。
    
    #### “与”
    
    and和&&是逻辑与的两种表达方式,例如:`x > 3 and x < 10`. 要提高性能, 则要应用求值优化. 此外, 以 AND/OR/&&/|| (或其他任何运算符) 开始的行会自动 附加到前一行的末尾
    
    #### “或”
    
    or和||是逻辑或的两种表达方式,其他没什么特殊的地方。
    
    #### “非”
    
    **!**和not是逻辑非的两种表达方式,除了优先级较低外, 其他的与 **!** 运算符相同. 例如, `not (x = 3 or y = 3)` 等同于 **!**`(x = 3 or y = 3)`.
    
    #### 应用实例:
    像 NOT/AND/OR/>/=/< 这些运算符的运算会自动产生真值或假值的结果: 真值时结果为 1 而假值时为 0\. 例如, 在下面的表达式中, 如果有一个条件为真则变量 _Done_ 被赋值为 1:
    
    <pre>Done := A_Index > 5 or FoundIt</pre>
    
    **重要说明**:含有表达式的 if 语句与传统的 if 语句(例如 `If FoundColor <> Blue`),可以通过单词“if”后是否有开括号来区分。尽管通常把整个表达式包围在括号中,不过也可以写成这样:`if (x > 0) and (y > 0)`。此外, 如果单词 "if" 后的第一项为函数调用或类似 "not" 或 "!" 这样的运算符时, 开括号可以完全省略
    
    > ```
    > Shift::
        if (Count<1 && A_TimeSincePriorHotkey<400 && A_PriorHotkey = A_ThisHotkey)
        {
            Count++
        }
        else
        {
            Count:=0
        }
        if Count>0
        {
            Run notepad
            Count:=0
        }
    return
    

    相关文章

      网友评论

        本文标题:AutoHotKey的是是非非

        本文链接:https://www.haomeiwen.com/subject/eqdbuttx.html