Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/00372.jsonl.gz/74

くいなちゃんFeb 24, 2018
「プログラミング言語Kuin」のKuinの構文のチュートリアルです。
「Kuinドキュメント」の内容を組み合わせた、実践的な使い方を示します。
文字列に式を埋め込む
文字列の中に式や変数を埋め込むには文字列に式を埋め込むのように書きます。
実行すると、「x = -5」「|x| + 2 = 7」が出力されます。
このように、文字列中に「\{～}」を書くと、括弧で囲んだ部分が式として解釈され、「(～).toStr()」に展開されます。
forで2ずつカウントダウンする
forで2ずつカウントダウンするにはforでカウントダウンのように書きます。
このプログラムではforで、10から1まで-2ずつカウントしているため、実行すると、「10」「8」「6」「4」「2」が出力されます。
whileで最低1回は実行する
whileで最初の1回だけ条件を無視し、最低1回は中身の処理を実行するにはwhileのskipのように書きます。
実行すると画面には「abc」が1回出力されます。 このように条件式のところに「, skip」を書くと、最初の1回だけ条件は無視されます。
C言語などの「do-while」に相当します。
switchに文字列の範囲を指定する
switchのcaseに、文字列の範囲を指定するにはswitchの条件のように書きます。
このプログラムでは、caseの条件に「"aa"から"bb"の間、もしくは"cc"」と書かれているため、画面には「abc」が出力されます。
このようにcaseの条件には、「to」で範囲が指定でき、「,」で複数の条件が書けます。 またswitchのブロック変数(この例ではmatch)を参照すると、switchの括弧内の値(この例では"abc")が取り出せます。
switchでは文字列以外にも、cmpメソッドを継承したクラスなど、比較可能な型はすべて扱えます。
ifをbreakする
ifをbreakするにはifのbreakのように書きます。
このプログラムでは、画面に出力する前に4行目でifを抜けるため、何も出力されずに終わります。
このようにifだけでなく、任意のブロックにはブロック名が設定でき、break文で抜けることができます。
ソースコードを途中で折り返す
ソースコードを途中で折り返すには、途中で折り返すのように書きます。
実行すると、1から10までの和である「55」が出力されます。
このように行頭に「|」を書くと、前の行の続きとみなされます。
個数の上限が判らない値をlistで扱う
個数が最大でいくつになるか判らない値をlistを使って扱うには、可変長の値のように書きます。
実行すると、空文字列(何も書かずに改行)が指定されるまで文字列を受け取り続け、最終的に受け取った個数が出力されます。
このように個数の上限が判らない場合には、一旦list型で受け取ってから、個数が確定したのちに「toArray」メソッドで配列に変換すると扱いやすくなります。
listの各値を走査する
listに格納された各値を走査するには、listの走査のように書きます。
実行すると、「abc」「def」「hij」「hij」「def」「abc」が出力されます。
「head」メソッドで走査ポインタを先頭に設定し、「term」メソッドで終端かどうかを判定し、「next」メソッドで走査ポインタを次に進めていきます。 そして「get」メソッドで、走査ポインタの値を取得します。
逆順の場合は、「tail」メソッドで走査ポインタを末尾に設定し、「prev」メソッドで走査ポインタを前に戻していきます。