回复:获取表脚本的全部内容(包括注释)?谢谢。这就是我所担心的 - 没有办法以编程方式访问评论,除非在评论方面使用某种丑陋的东西。
我确实想出了一个更好看的方法来完成这个。我将标头注释块包含在 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>
回复:获取表脚本的全部内容(包括注释)?我所知道的解决这个问题的唯一方法是将每个评论放入一个虚拟文字字符串中
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 不包含任何注释。标头部分丢失,因此我无法访问这些评论中包含的元数据。
有没有办法获得满的表格脚本的文本,包括注释?
自动化和脚本编写