最も簡単なTopaz script

 最も簡単なスクリプトは以下のようなものです。
  例1:
  print 'Hello world!!';
 しかし、このスクリプトを実行する環境によって、動作が異なることに注意する必要があります。このスクリプト名が"test"である場合、コマンドライン引数として以下のようにこのスクリプトを実行すると、Topazを実行したターミナルに'Hellow world!!'が出力されます。
  topaz test
 しかし、既に起動されたTopazのCUIメニューから"Macro | スクリプト"で上記スクリプトを直接打ち込み実行する、あるいは"Macro | ファイル"メニューでファイル名"test"を指定し実行すると、メッセージエリアに'Hellow world!!'が出力されます。

 ここでは、以降後者の場合について説明を行うこととします。
 一般に"print"文は以下のように2つの引数をとります。

  print HANDLE STRING
 HANDLEはPerlの場合と同様ファイルハンドルを示します。 つまり"print"文は、ファイルハンドル"HANDLE"へ文字列"STRING"を流し込むわけです。 例1のようにファイルハンドルを省略した場合、HANDLE=STDOUTとみなされます。 メニューから実行した場合STDOUTはメッセージエリア、コマンドライン引数のスクリプトから実行した場合はSTDOUTはターミナルにリダイレクトされます。

 さて、例1をメニューから実行してみましょう。 トップメニューから、"Macro | スクリプト"を選択し、例1のスクリプトを入力して、リターンキーを押してみましょう。 メッセージエリアに'Hellow world!!'と表示されましたね。文末の';'を忘れないでください。これは1つのコマンドの終りを指定します。 これはPerlの仕様と同様です(ちなみにC言語とも同じです。)。

 もう一度例1のスクリプトを実行してみましょう。 メッセージウインドウは、'Hellow world!!Hellowworld!!'になるはずです。 これは最初のスクリプトを実行した段階で、改行が行われていないためです。 改行を行うためには、例2のようにエスケープシーケンス'\n'を文末につけ、文字列をダブルクオーテーションで括りましょう。

  例2:
  print "Hello world!!\n";
 以上"Macro | スクリプト"から実行することとして説明を行ってきましたが、スクリプトをテキストファイルとして環境変数TOPAZMACRODIRで指定されるディレクトリや、ホームディレクトリの.topaz下に保存すれば、"Macro | ファイル"からファイル名を指定することで、スクリプトを実行できます。

 例えば例1のスクリプトをtestとして環境変数TOPAZMACRODIRで指定されたディレクトリに保存しましょう。 ここでメニュー"Macro | ファイル"でtestと指定し、リターンキーを押してください。 スクリプトが実行されます。 "Macro | スクリプト"では一行のスクリプトしか実行できませんが、"Macro | ファイル"では複数行のスクリプトが実行できます。 しかし"Macro | スクリプト"でも1行に複数のコマンドを書くことは可能です。下の例を参考にしてください。

  例3:
  print "How are you?\n'; print 'fine!!\n";