【已解决】if语句的疑问

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

gqqnbig
Posts: 13
Joined: 27 Jul 2014, 15:00

【已解决】if语句的疑问

27 Jul 2014, 15:04

如果我写

Code: Select all

if(false)
{
    pause
}
则pause不会被执行。

如果我写

Code: Select all

v=false
if(v)
{
    pause
}
则pause会被执行。两者结果不同。

既然我已经定义v=false了,那么if(v)应该等价于if(false)。autohotkey为什么会这样呢?
Last edited by amnesiac on 22 Aug 2014, 20:56, edited 2 times in total.
Reason: 调整为【已解决】。
User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

Re: if语句的疑问

27 Jul 2014, 19:23

首先明确 false 的含义:
单词 true 和 false 是值分别为 1 和 0 的内置变量。
接着,必须区别传统形式的赋值和表达式赋值,请参阅给变量赋值。简而言之,传统赋值使用等号,右边为原义字符串,而表达式赋值使用一组冒号等号。执行下面这两个脚本看看它们的区别:

Code: Select all

v = false
MsgBox, %v%

Code: Select all

v := false
MsgBox, %v%
若有兴趣,可以再看看这篇【风格】传统形式与表达式
AutoHotkey 学习指南(Beauty of AutoHotkey)
I do not make codes, and only a porter of AutoHotkey: from official to Chinese, from other languages to AutoHotkey, and show AutoHotkey to ordinary users sometimes.

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 6 guests