条件分岐
- if文の例です。この例では、中括弧 { } は省略可能です。また、elif は else if としても同じです。
# 電源ラインの周波数を調べます。 if( addr=="東京" ) freq="50[Hz]" elif( addr=="大阪" ) freq="60[Hz]" else freq="??[Hz]"
- switch文の例です。swch と deft は省略形のキーワードです。(switchとdefault)
条件は複数指定できます。また、アスタリスク * は全てにマッチします。
# 上場企業を分類します。 swch( market,grade ){ case "東証","1部": print("東証一部上場企業です。"); break; case "東証","2部": print("東証二部上場企業です。"); break; case "東証", * : case "大証", * : case "名証", * : case "福証", * : case "札証", * : print(" 上場企業です。"); break; deft: print("非上場企業です。"); break; }
- 3項演算子の例です。
# 改行コード又は区切り記号を出力します。 puts( last?"\n":"," )
繰り返し
- loop文の例です。最初に数(整数)を評価して、その数(整数)だけループ本体を実行します。
無指定時には、無限ループとなります。
# アスタリスクを80個出力します。 loop(80) putc('*')
- while文の例です。ループ毎に条件式を前評価して、TRUE等である限り繰り返しループを実行します。
# 標準入力を行毎に行末まで読み込みます。 while( line=gets() ){ ; }
- while文のバリエーションとして、ループ毎に条件式を後評価するdo_while文、及び、
これらとは真偽が逆のuntil文とdo_until文があります。(サンプル省略)
- for文の例です。(0〜9までの整数を加算します。)
sum=0 for( i=0 ; i<10 ; i++ ) sum+=i
- each文の例です。配列要素(と配列添字)を順次設定してループを実行します。
# コマンドライン引数を全て表示します。 each( val=ARGV ) print("%s\n",val)
# 環境変数を全て表示します。(表示イメージ → "PATH=/bin:/usr/bin") each( val,key=ENV ) print("%s=%s\n",key,val)