第1回は、マクロとは何か。広義のマクロは「TACL 言語を使っていろいろな機能を実現したもの」です。そう、TACL とは言語なのですよ、みなさん。UNIX で言う shell プログラミングと同じようなものです。マクロを実装の方法で区分けすると、macro
、routine
、alias
、obey
があります。
え、obey
がマクロなんだろうか?正式ではないかもしれませんが、「この機能はマクロで対応します」とお客さまに言った時に、実際は obey
で済むところは obey
で終わらせたりするでしょ?だから obey
も広義のマクロだと思います。正確には「スクリプト」と言った方が適切かもしれませんが。(あ、「マクロ」と「macro
」は意図的に使い分けてますので気をつけてください)
で、obey
はファイルですよね。ファイル形式しかありません。しかしそれ以外の macro
や routine
などはファイルだったり variable
だったりします。variable
とは何でしょうか。
ざっくり言うとコマンドのことだと今は思ってください。TACL の代表的コマンドである fileinfo
は alias
です。volume
コマンドは routine
です。(fup
コマンドは何でしょうか。これはプログラムですね。マクロではありません。)
普段使っているコマンドは大半が routine
です。なぜかというと、routine
には強力なパラメータチェック機構が備わっているからです。人間が入力する以上、バラメータのチェックが欠かせませんが、routine
でマクロを書くと、楽にチェックロジックを書けるのです。だから人間が叩くコマンドは routine
で、その裏で使うサブルーチン的ロジックは macro
で書いたりします。
ここでマクロの種類についてパラメータ操作という面から整理してみましょう。
macro
にしてチェックロジックは省略するかもしれません。