技術

5.3. forループ式

LLVMによるプログラミング言語の実装チュートリアル日本語訳
第5章 万華鏡: 言語の拡張: 制御フロー
第3節 forループ式

今となっては、基本的な制御フロー構造を言語に追加する方法を我々は知っているので、もっとパワフルなものを追加するためのツールを我々は持っている事になる。
よりアグレッシブなものであるfor式を追加しよう。

extern putchard(char)
def printstar(n)
  for i = 1, i < n, 1.0 in
    putchard(42);  # ascii 42 = '*'

# print 100 '*' characters
printstar(100);

この式は、新しい変数(この場合はi)を定義し、この変数を、条件(この場合はi < n)がtrueの間、最初の値から、オプションであるステップ値(この場合は1.0)で増加させていく。 ステップ値が省略されたら1.0とみなされる。 ループがtrueの間、本体の式が実行される。 特に返すべき値はないので、ループは常に0.0を返すように定義する。 この先の章で変更可能な変数が使えるようになったら、このforループはもっと実用的になるだろう。 これまでどおり、このforループを万華鏡でサポートするために必要な変更について考えてみよう。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください