}}requestの出力は"天才かもしれません。中間のブロックには指定位置に候補が無いので、出力が空の文字列となっていることに注意してください。†while、for、foreachの3種類のループ構造があります。}内を繰り返し処理します。"1から10をすべて足すと%(_j)である。"}上の例はwhileの機能を簡単に説明しています。下の例では異なる10個の文字列を発生しています。requestの出力は、1~10のうちいずれかの平方根を報告する文字列です。"%(_i)の平方根は%(SQRT(_i))である。ループ毎に実行する式を一箇所にまとめて書ける点が優れています。以下は、whileで挙げた平方根を報告する例をforで書き直したものです。"%(_i)の平方根は%(SQRT(_i))である。1はループを始める直前に実行されます。11はループ判定式で、これが真である間はループが続きます。戻る際に実行される式です。することで無限ループとできますが、文では各式を省略できません。1;1;1などとしてください。1で済むため、文で無限ループを作る際は、可読性の点からも、動作速度の点からも、whileを使用すべきであると言えます。簡易配列、もしくは汎用配列の各要素値を順番に取り出します。以下では簡易配列の要素値を取り出して数値へ変換し、すべての合計を計算しています。_t}foreachに続いて処理対象を記述します。上の例では簡易配列_strを指定しています。変数でなければなりません。処理対象の変数のデリミタがSETDELIMによって変更されていても、foreachはそのデリミタを認識して正常に動作します。foreachは汎用配列も処理できます。書き換えてもかまいません。変更は正常に反映されます。†ループ中にbreakが現れると、現在実行中の最も深いループから脱出します。1}上の例では、forは初期値0の_iが100に達するまでループを実行しようとします。越えたらループから抜ける」ようにbreakが仕込まれています。時点でループが終了します。requestは_iから1を減じた価を返しています。requestは、二乗した結果が100を越えない最大の整数を求める関数です。†ループ中にcontinueが現れると、その位置からすぐにループ先頭へ戻ります。_j}_iは0、1、2と変化しますが、1、2ではcontinueが働くので、_jに"ahead"を追加する式が実行されません。†returnが現れると、その関数の実行はそこで終わります。関数の出力はそれまでに蓄積された候補から選ばれます。_argv[0]*2.0*3.14/360.0}関数to_radはdegreeをradianへ変換します。引数に文字列が与えられた場合は、if判定でそれを発見して-1を返すようにプログラムされています。ありませんから、これが出力されることになります。†プリプロセスは辞書ファイルを読み込んでいる段階で実行される命令です。辞書ファイルから読み込んだ(パース前の)生の文字列に対して、直接文字列置換を実行します。afterとすると、これを記述した行より後ろにbeforeが見つかるたびに、それがafterへ置きかえられます。有効範囲は、宣言した次の行から、そのファイルの終端までです。置換は記述順に行われますので、先に変換しておきたいものを先に書いてください。ディレクティブと同じです。有効範囲が異なります。宣言すると、次の行以降の全ての範囲(その後に読み込まれる辞書ファイルも含む)で有効になります。記述すると、その効果はすべての辞書ファイルに及ぶことになります。#defineが先に処理されます。置換のあとで実行されます。milk"teacup"置換結果は"milkcup"となります。以下の単語はシステム関数名、及び制御命令名です。これらの名前は文システムで予約されています。これらと完全に一致する名称の変数や関数をユーザー側で作成、利用することは出来ません。†../システム関数で記述されている関数は全て利用できません。今後の拡張も考えると、大文字+アンダースコアのみで構成される名前は使わないほうが良いでしょう。以下の単語/文字は演算子です。これらと完全に一致する名称の変数や関数をユーザー側で作成、利用することは出来ません。変数や関数名の一部にこれらの単語/文字を含むことも出来ません。以下のライブラリを利用もしくは参考にさせていただきました。