こんな強力な構文があるとは知りませんでした。今回はwhereを使っていきます。whereを使わない例です。doで回して配列aの要素が5より大きかったら、配列bに代入するときに、2倍にするプログラムです。20takk@deb9:~$6行目から2倍になってますね。上のプログラムをwhereを使って作り直すとこうなります。endtakk@deb9:~$いやあスゴイ。なんて簡潔に書けるのでしょうか。実行するともちろん同じ結果になります。whereの間に配列代入文を挿むだけ。whereもしくはこのパターン。where配列代入文以外はだめなのでしょうか。配列代入の代わりにwriteを入れてみます。endtakk@deb9:~$ビルドエラーとなります。(1)takk@deb9:~$もちろんwhere構文内なので配列代入しかできないのであって、if文の中なら問題ないです。HELLOtakk@deb9:~$普通の代入はどうでしょうか。shapetakk@deb9:~$whereの中では、普通の代入もエラーとなりました。配列代入のみしか書くことはできないようです。ハッピーエンドなら最後まで見ようと思うんですが、怖くて視聴が進みません。