EditInterpolate関数とCALのバージョン

マニュアルがおかしかった

ちょっと前にEditInterpolate関数を使ったCALファイルを作ろうとしたら、日本語マニュアル(chmファイル)通りにいかなかったのでメモ。と言っても、少し前の記事で紹介した海外のPDFに書いてあった内容。
日本語マニュアルはバージョンアップされても見直しがされていない様子。

CALのバージョンによって挙動が異なるかもしれない

EditInterpolate関数を使うことで、メニューのプロセスにある置換をCALから実行することができる。マニュアルには次のように書いてある。

(EditInterpolate)

このコマンドはユーザーにダイアログを示しません。
検索(1)および置換(2)フィルタがすでに目的通り設定されていることを前提とします。 

バージョンいくつかまではこの通りの仕様だったのかもしれない。しかし、少なくともCALのver10.0では、この通りに実行すると検索および置換フィルタの入力ダイアログが表示される仕様になっている。本来は次のような説明が正しいはず。

(EditInterpolate [])

プロセス|置換に対応したCAL関数です。 

nodialogに何らかの数値を設定すると、ユーザーにダイアログを示しません。
この場合、検索(1)および置換(2)フィルタがすでに目的通り設定されていることを前提とします。

CALのバージョンを調べる方法

SONARのCALバージョンを知りたい場合は、CALの予約語であるVERSIONを使う。CALは小数が扱えないため数値は10倍されている。ver10.0であればver100と表示される。

(do
 (pause "CAL ver" VERSION)
)