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