注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

AutoIt:Language Reference  

2010-02-25 21:37:51|  分类: AutoIt |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

AutoIt 中只存在一种数据类型(Datatype),那就是Variant。Variant可用来存储纯数字(numeric)字符串(string)类型的数据,而程序具体如何看待这些数据则要看用户的使用方式。举例来说,若您试图让两个变量相乘,那么它们将被当作数字类型(指具有数学意义的可供计算的值)使用,而若您试图连接(拼合)两个变量则它们将被认做字符串(String类型)。

一些例子:

    10 * 20 等价于 数字 200 (* 是乘法运算符)

    10 * "20" 等价于 数字 200

    "10" * "20" 等价于 数字 200

    10 & 20 等价于 字符串 "1020" (& 是字符串连接运算符)

 

若某个字符串被当作数字进行运算而它又并不能表示有效的数值,则它将被假定为0。例如:

    10 * "fgh" 等价于数值 0.

 

  • 数字类型(Number)

数字可以是标准的十进制数(decimal numbers), 2、4.566 和 -7。 

指数形式(Scientific Notation)也被支持,因此你可以用 1.5e3 来代替 1500。

(说明:字母e或E后面的数表示指数,因此上例等价于1.5*10*10*10,字母e或E之前必须要有数字,而且需用小数表示,e或E后面的指数必须是整数)

整数还可以用十六进制(hexadecimal)来表示,但需添加前缀(preceding) 0x ,如 0x409 或 0x4fff(此时只有32位的数值才是合法的数字)。

 

  • 字符串类型(String)

字符串以一对英文双引号(double quotes)括起来,比如 "这样"。若需表示一个包含双引号的字符串则需连续两次用双引号括起来,比如:

    "这里是一对 ""双引号"" - ok?"

此外还可以用一对单引号括起来以表示字符串,比如 '这样' 和 '这里是一对 ''单引号'' - ok?'

 

有时一个字符串包含大量双引号或单引号,则可以通过混和使用使得对字符串的表示更加简单。比如下例:

    '这个 "句子" 中包含了 "很多" 的 "双引号" ,留意到了吗?'

该例使用了单引号来括住字符串,看起来就没有下面常规的表示方法那么累赘了。

    "这个 ""句子"" 中包含了 ""很多"" 的 ""双引号"" ,看不到才怪! "

 

数据的值域(Datatype Ranges)

下面这个表格不同数据类型所能存储的值域:

数据类型 值域和说明
纯数字的 一个双精度的数据(可提供15位的有效数字)的取值范围是1.7E–308 到 1.7E+308(占 8 个字节)
字符串 可存储最高 20 亿个字符

 

  • Variables

所谓变量是指在为了快速读取而在内存中保存数据的一块空间。您可以把它想象成是一个在内存里的邮箱,我们可以往里面存信也可以取信。例如您可以创建一个变量用来保存用户回复的数值或者某个数学表达式的运算结果。

每个变量都有自己的名字(这跟邮箱是不是很像?)而且必须以英文字符“$”开头,其中只能包含 字母(Letters)、数字(Numbers) 和下划线“_”(Underscore)。下面是一些有效的变量名:

    $var1

    $my_variable

 

AutoIt 中的每个变量都是 Variant 类型。

 

  • Declaring Variables(变量的声明)

AutoIt 中使用关键字 DimLocalGlobal 来声明并创建变量:

    Dim $var1

还可以像下面这样一次声明多个变量:

    Dim $var1, $myvariable

另外还可以不先声明某个变量而直接对其赋值,但最好还是要显式的声明一下。

    $var1 = "创建变量并赋值"

 

  • Scope(变量的作用域)

某个变量的作用域要看您是何时以及如何声明该变量的。如果您在脚本开头且在所有函数之外声明了某个变量则该变量将在 全局范围(Global Scope)内存在,此时您就可以在脚本的任意位置读取或更改该变量,我们把这种变量称为全局变量。

如果您是在某个 函数内部(inside a function)声明一个变量则该变量就只在该函数的局部范围内有效,我们把这种变量称为局部变量(Local Scope)。在函数内创建的变量将在函数结束时自动被销毁。

在默认情况下,使用 Dim 声明的变量或在函数内部直接赋值而成的变量都是局部变量,除非有同名的全局变量存在(此时将视此变量为该全局变量)。另外我们可以使用关键字 LocalGlobal 来声明变量以控制变量的作用域。

  • Operators

+ 使两个数相加。比如 10 + 20    (等价于 30)
- 使两个数相减。比如 20 - 10    (等价于 10)
* 使两个数相乘。比如 20 * 10    (等价于 200)
/ 使两个数相除。比如 20 / 10    (等价于 2)
& 使两个字符串连接起来。比如 "one" & 10    (等价于"one10")
^ 提高某个数的幂(power)。比如 2 ^ 4    (2 的 4次方,等价于 16)
NOT Logical NOT operation(逻辑非运算)。比如 NOT 1    (等价于 0)
   
= 判断两个值是否相等(用于Strings(字符串)时不区分大小写)。比如 If $var= 5 Then    (如果变量 $var 的值为 5 则条件成立)
== 判断两个值是否相等(用于Strings(字符串)时区分大小写)。
<> 判断两个值是否不相等。
> 判断第一个值(左边)是否大于第二个值(右边)。
>= 判断第一个值(左边)是否大于或等于第二个值(右边)。
< 判断第一个值(左边)是否小于第二个值(右边)。
<= 判断第一个值(左边)是否小于或等于第二个值(右边)。
AND 逻辑与运算。比如 If $var = 5 AND $var2 > 6 Then    (如果变量 $var 的值为 5 而且 变量 $var2 的值大于 6 则条件成立 )
OR 逻辑或运算。比如 If $var = 5 OR $var2 > 6 Then    (如果变量 $var 的值为 5 或者 变量 $var2 的值大于 6 则条件成立)

 

当一个表达式(Expression)内含有多个运算符时,其结合的先后顺序由Operator precedence(运算符的优先级别) 来控制。AutoIt 中运算符的优先级如下所示。处于同一优先级的两种运算符将按从左到右的顺序结合。

越上面的运算符则优先级越高:

    NOT
    ^
    * /
    + -
    &
    < > <= >= = <> ==
    AND OR

 

例如表达式 2 + 4 * 10 的值将是 42,结合顺序如下:

    4 * 10    (等价于 40)

    2 + 40    (等价于 42)

这是因为乘号 * 拥有比加号 + 更高的优先级。

 

您还可以使用括号来使表达式内的某些部分优先被计算。

比如 (2 + 4) * 10 等价于 60.

 

  评论这张
 
阅读(885)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017