多くの関数が持っているオプションパラメータは省略することが可能です。ただしオプションパラメータを設定したい場合はそのパラメータの前の全てのパラメータを設定しなければなりません!
例えばRun ( "filename", ["workingdir"
[, flag]] )で考えてみましょう。もしflagを設定したい場合、workingdirも必ず設定しなければいけません。
多くのWin___関数はオプションパラメータ"text"を持っています。このパラメータは同じタイトルを持つウィンドウの区別を手助けするためのものです。
関数のいくつかは成功/失敗を返し値で知らせます。その他のものは@errorフラグの設定、あるいは両方の方法で知らせます。
@error = 0 ;は常に成功を表します。
ただしReturnする変数は通常はコードを読みやすくするために非ゼロで成功を表します。
If someUserFunc() then ;...関数正常動作
If Not someUserFunc() then ;...関数失敗
$x = FileReadLine("C:\someFile.txt")
If @error = -1 Then ;ファイル終端に到達
関数が@errorフラグを設定する場合、返し値を使用する前に必ず@errorを調べなければなりません。@errorがエラーを通知している場合、一般に関数の返し値は未定義です。
関数内に入った際は@errorは常に0に設定されます。
ドキュメンテーションに「返し値なし」と書いてある場合でもAutoItはエラーを避けるために常に値を返します。普通は1が返されますがこの返し値に依存したコードを書かないでください。
オプションパラメータの定義が必要で、その前に1つ以上のオプションパラメータが存在する場合はデフォルト値を設定しておく必要があります。普通は文字列パラメータには""を、その他のパラメータには-1を設定します。StringInStrやStringReplaceといった関数では0を設定する必要があります。それぞれのオプションパラメータの説明を参照してください。