「メインフレーム・コンピューター」で遊ぼうこんな時代に今さらメインフレーム・コンピューターに取り組むハメになったみんなが助けあうサイトです。RSSWordPress.orgコスパのいい社内システムの作り方メインフレームを扱っていると、軽い開発やメンテナンスにリソースを割けない、しかし、BPCも考えねば。解決策のひとつがクラウドにおくFileMakerです。Comment印刷用ページの表示どんな言語も「構造化プログラミング」を考慮していることは、論を待たないと思います。(構造化プログラミングがわからない人は、Wikipediaをみてください。)プログラミング言語は、それ以外に特有の概念が実装されていることで特色を出しています。その概念を理解することが、その言語らしいプログラミングをするために、不可欠です。REXXの場合、それはスタックと連想配列だと思います。スタックスタックそのものは別にREXX固有の話ではなく一般的にデータを扱う時に話題になる概念です。図のように2つの考え方があります。ひとつは地面に土管が埋まっていると思いましょう。そこにデータ(肉でもいい)を投げ込みます。次にそれを取り出すと、もっとも最近投げ込んだデータ(新しい肉)が取り出されますね。Out(LIFO)という呼び方をします。REXXではPUSHというコマンドでスタックにデータを投げ込み、PULLというコマンドでデータを取り出します。ひとつのスタックの考え方は、広場に土管がころがっていると思いましょう。そこにデータ(肉でもいい)を押し込みます。土管の反対側からデータを取り出すと、もっとも昔に押し込んだデータ(古い肉)あ取り出されますね。Out(FIFO)という呼び方をします。REXXでは、QUEUEというコマンドでスタックにデータを押し込み、取り出し方は同じようにPULLです。スタックという土管にどの順番でデータを押し込むかは、PULL,QUEUEコマンドで決まり、PULLでひたすらデータを取り出す、というのがREXXの考え方です。一点、スタックで重要な話があります。スタックが空なのにPULLコマンドを出したらどうなるのでしょうか?ゼロが帰る?いやいや、これはREXXプログラムの動作環境で異なります。z/OSならばSYSTSINにデータがあれば読み込みますが、それもなければ端末入力待ちになるのです。これにより、プログラムはユーザーからの入力を待つことができるようになるのです。連想配列Perl,PHP,VBなどのスクリプト言語ではよく使われていますが、なじみがない方のために連想配列の簡単な説明をしておきます。連想配列とは、添え字が文字列でかまわない配列をいいます。ハッシュといったりもします(個人的には違和感があるけど)。REXXの場合、変数に.が現れると配列だとみなします。var.iでは、”い”が表示されます。添え字が文字列でかまわない以上、次のような配列も許されます。var.a“あ”が示されます。REXXでは、他言語のように配列の添え字なしで要素を拾い出す(foreach)のような命令がないので、配列の要素を順々に取り出したい場合は、数値の添え字を使います。添え字なしで要素を順次取り出すことのほうが多いでしょうが、そういう場合には、スタックの使用が推奨されているのです。