次はコマンドプロンプトの上で色々書いていこうと思います。 ==== for文(繰り返し)・複数文を書くとき ==== まず以下のように入力してみてください。 for i in range(1,9) print i end for {{:tutorial:20230107_input.png|}} for文のあとEnterキーを押すと「>」が無数に並んでますが、これはブロックが閉じてない証拠なので参考にしましょう。 ということで引き続き内容を記載していって、最後にEnd forを書けば終了です。 End forを書いてからEnterキーを押すと、プログラムが実行されます。 {{:tutorial:20230107_execute.png|}} ずらっと数値が並んだら成功です。 この記述の内容は「iという変数を確認して表示するのを何回も繰り返す」という内容になります。 一応機能としても書いていく予定なので、こんな書き方があると覚えていただければ幸いです。 ==== if文(条件分岐)==== 次、こんなプログラム書いてみましょう。 n=1 if n!=2 then print "n is not 2" else print "n is 2" end if {{:tutorial:20230107_input2.png|}} まぁそんな難しくないですよね。 nが2かどうかってチェック入れてるのに、最初の時点でnが1って入力しちゃってるわけですし。 プログラムは基本的なルールとしては上から下に読みくだされますので、上に色々条件や計算を書いておいて後のほうで内容チェックというのも可能ですので上記のような書き方も成立するんですね。 ということで最後まで入力したら以下のように表示されます。 {{:tutorial:20230107_execute2.png|}} これまた当然のような内容ですね。nが2じゃねえ、って警告出してます。この警告内容はifと書いた後の部分ですね。 よって、自分でチェックするときはこんなふうに条件を書いて、適合する・しないをチェックできるんですね。 これがプログラミング言語でよく使われるif文ってやつです。 ==== while文(条件に合致する間の処理)・プログラムが暴走したときの対処 ==== 最後に、プログラムが止まらないときどうしましょう、という話を先にしておきましょうか。 勿論今実行しているコマンドプロンプトの機能なので、他の実行環境では別のやり方が存在するかと思いますので、早い段階で確認しておいたほうがいいですね。 まず下記のように入力してみてください。 n=0 while n>=0 n=n+1 print n end while {{:tutorial:20230107_input3.png|}} このwhileという文は、「提示している条件に合致している間は処理を行う」という機能を持ちます。 つまり、nが0以上だったら処理を行って、また確認して・・・という処理を行います。 でも、上記での定義はn=0って入れちゃってますし、そもそもnが0以上だからずっと処理しつづけることになるのでは・・・ 上記の突っ込みはともかく、全部入力すると・・・ {{:tutorial:20230107_execute3.png|}} あらら大変、自分の入力ができなくなってしまいました。 ただ、こんな場合、今回利用しているアプリケーションでは「Ctrl+S」を押すことで止めることができます。 ささ、押してプログラムが止まるのを確認してください。 こんな感じでプログラムが再入力を促さないケースも存在しますので、こうなったら強制的に止めるとかを考えることになります。 ただこういう状態でプログラムは動いていることが多いと思いますので、普通ずっと稼働しているソフトやハードのプログラムは言ってしまうときれいに動いていて、エラーの時はあえて止まるようにしている等備えてるものなのですよね。 今回の例で言えば、上で書いたプログラムは計算を延々と行って再入力を促さないように作っているわけですね。 ==== おわりに ==== 今回また軽くプログラムを書いてみましたがいかがでしょうか。 こんな入力を何重にも組み合わせてプログラムができていますが、単体で見るとそれほど難しくないことがわかったかと思います。 Miniscriptはこの単体の機能を注意深く絞って実装されているため、初心者にも取り扱うのが優しい言語になっています。 また熟練者向けではないのか?と言われるとそうでもなく、他のプログラムへ組み込んで細かい操作を担当する等、できることはものすごくあります。 ぜひともMiniscriptを使って色んなプログラムを書いてみてください。