Re: テーブル スクリプトの内容全体 (コメントを含む) を取得しますか?ありがとう。それが私が恐れていたことです-コメント側である種の醜いクラッジを使用する以外に、プログラムでコメントにアクセスする方法はありません。
これを達成するための見栄えの良い方法を見つけました。ヘッダー コメント ブロックを JSL Quote() 内に囲みます。これは、JSL インタープリターをだましてコメント ブロックを削除する代わりに保持させます。これで、カテゴリ フィールドを読み取り、それに応じて使用できるようになりました。
これが私のスクリプト例です:
JSL Quote(
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
* Script Name: my script name
* Script Category: <<MY category="">>
* Author: author name
* Rev Date: date
* Purpose: purpose
* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * */
);
//this comment will be deleted
dt = Current Data Table();
scriptText = Char(dt << Get Table Property("my script name"));
scriptCategory = Char(Regex(scriptText,"\<\<([A-Za-z0-9 \/]*)\>\>", "\1"));
Write("\!n" || scriptText || "\!n");
Write("\!n" || scriptCategory || "\!n");</MY>ログへの出力:
JSL Quote(
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
* Script Name: my script name
* Script Category: <<MY category="">>
* Author: author name
* Rev Date: date
* Purpose: purpose
* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * */
); dt = Current Data Table(); scriptText = Char(dt << Get Table Property("my script name")); scriptCategory = Char(Regex(scriptText, "\<\<([A-Za-z0-9 \/]*)\>\>", "\1")); Write("
" || scriptText || "
"); Write("
" || scriptCategory || "
")
my category</MY>
Re: テーブル スクリプトの内容全体 (コメントを含む) を取得しますか?これを回避するために私が知っている唯一の方法は、各コメントをダミーのリテラル文字列に配置することです
dt=current data table();
eval(parse("\[dt << new script("mysct",
comment="/**************************************/";
names default to here(1);
dt=current data table();
comment="// Here come more comments";
;]\")); テーブル スクリプトの内容全体 (コメントを含む) を取得しますか?データテーブルに添付されたすべての JSL スクリプトを整理するシステムを考え出そうとしています。各スクリプトの上部のコメントにヘッダーを挿入したいと考えています。次のようになります。
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
* Script Name: my script name
* Script Category: <<CATEGORY>>
* Author: author name
* Rev Date: date
* Purpose: purpose
* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * */</CATEGORY>
このヘッダー内には、各スクリプトに関するメタデータが保存されます。たとえば、山かっこで囲まれた「スクリプト カテゴリ」フィールドです。スクリプトを反復処理し、このメタデータに基づいてスクリプトを操作できるようにしたいと考えています。
次のようにして、データテーブルにアタッチされているすべてのスクリプトのリストを取得できることがわかりました。
dt = Current Data Table();
scriptList = dt << Get Table Script Names;
そして、次のようなスクリプトの内容を取得できます。
scriptText = Char(dt << Get Table Property(scriptList[1]));
ただし、scriptText にはコメントが含まれていません。ヘッダー セクションがないため、コメント内に含まれるメタデータにアクセスできません。
を入手する方法はありますか満杯コメントを含むテーブルスクリプトのテキスト?
自動化とスクリプト作成