2013年12月23日、AutoItが約2年ぶりにバージョンアップしてv3.3.10.0に更新された(マイナー更新があったので現在はv3.3.10.2)。更新内容の一部を簡単にみてみよう。

・サポートOSの変更

OSとしてWindows 8.1、 Windows 2012 R2が新たにサポートされた。一方でWindows2000のサポートが終了した。

・正規表現エンジンの更新

AutoItで使用されている正規表現エンジンPCREが 8.33 にバージョンアップした。

・三項演算子の追加

C/C++スタイルの三項演算子(条件演算子)が新たにサポートされた。
$result = ("foo" = "bar") ? True : False 
MsgBox(0 ,"", $result)

・Nullキーワードの追加

新たにNullキーワードがサポートされた。COM呼び出しなどでVT_NULLがNullに変換されるようになったので注意が必要(以前は空文字列)。
$a = Null
If $a = Null Then
   MsgBox(0 ,"", "$a is Null")
EndIf

・@LocalAppDataDirの追加

AppData\Localを参照するためのマクロ@LocalAppDataDir が新たにサポートされた。
; 通常はC:\Users\(ユーザー名)\AppData\Local
MsgBox(0 ,"", @LocalAppDataDir)

・関数の変数への代入

関数ポインタ風に関数を変数に代入できるようになった。また変数から関数名を取得するためのFuncName()が追加された。
$myFunc = MsgBox
$myFunc(0, "", "変数経由で関数を参照可能" )

; FuncName関数名で関数名を取得できる
MsgBox(0, "", FuncName($myFunc) )

・FileReadToArray()の追加

1行1要素としてファイル内容を配列に読み込む従来のユーザー定義関数_FileReadToArray()が組み込み関数としてサポートされた。
$lines = FileReadToArray(@ScriptFullPath)
If Not @error Then
   For $i = 0 To UBound($lines) - 1
	  MsgBox(0, "", $lines[$i])
   Next
EndIf

・StringReverse()の追加

文字列反転関数としてStringReverse()が追加された。
MsgBox(0, "", StringReverse("esreveR"))

・式に対する[]演算子のサポート

配列を返す式に [] で直接アクセスできるようになった。
$val = StringSplit("a,b", ",")[1]
MsgBox(0 ,"", $val)

・式に対する . 演算子のサポート

オブジェクトを返す式に . で直接アクセスできるようになった。
$info = ObjCreate("Shell.Application").GetSystemInformation("ProcessorLevel")
MsgBox(0 ,"",$info)

他にもいろいろ変わっているが目についたのはこんなところ。ゆっくりとではあるが開発は続いている様子。 詳しい更新内容については公式サイトのヒストリーを参照して欲しい。

関連:
AutoIt v3 ドキュメント 日本語訳プロジェクト
AutoIt v3 UDFs ドキュメント 日本語訳プロジェクト
SyntaxHighlighter for AutoIt