回复:将变量/表达式的内容而不是变量名插入新脚本JMP 很久以前就决定对要添加的显式脚本的常见情况友好。 这使得不常见的情况(变量中的脚本)变得有点困难。
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
// <<NEWSCRIPT assumes="" you=""></NEWSCRIPT>
回复:将变量/表达式的内容而不是变量名插入新脚本好吧,在尝试了更多组合之后,我发现了一种看起来可行的方法。但是,我不知道如何或为什么。
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
Eval(Eval Expr(
dt << New Script("hello world", Expr(Name Expr(anExpr)))
));
Show(dt << Get Property("hello world"));*归功于这个答案让我亲近。
如果有人对此有任何见解,我很想知道更多。
回复:将变量/表达式的内容而不是变量名插入新脚本当然有几种方法可以做到这一点,这里有两种:
Names Default To Here(1);
dt = new table();
//one way
scriptExpr = expr ( print( "hi there" ) );
eval ( substitute (
expr ( dt << new script ("greeting 1", _x_ ) ),
expr( _x_ ),
nameexpr( scriptExpr )
) );
// another way
scriptQuote = jslquote ( print ( "hi there" ) );
eval( evalexpr(
dt << new script ("greeting 2", expr( parse( scriptQuote ) ) )
) ) ;
干杯,
布雷迪
回复:将变量/表达式的内容而不是变量名插入新脚本这是一个很好的起点表达式处理函数:第一部分 - 揭开 Expr()、NameExpr()、Eval()、... 难题关于 JMP 表达式
这里还有一些信息脚本指南 > 编程方法 > 高级表达式
JSL Cookbook 也可能有一些主题,其中包括表达式处理在不知道列数或名称的情况下运行平台这个包含成功的好提示:表达式处理是一个困难的话题。 你看到的例子越多,你就越应该理解。
将变量/表达式的内容而不是变量名称插入到新脚本中如果能够将表达式分配给变量,然后使用该变量通过新脚本将表达式插入到数据表脚本中,这将非常方便。
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
dt << New Script("hello world", anExpr);
Show(dt << Get Property("hello world"));但是,当我尝试这样做时,脚本的内容只是变量名称。如果你在这种状态下运行它,它会起作用,但是如果你保存数据表并稍后再次加载它,变量的内容一个表达式丢失并且表脚本将无法工作。
有没有办法插入内容将变量放入表脚本而不是变量名称中?也许可以用 Substitute、Eval Expr 等来完成,但我尝试了很多此类方法的组合,但没有成功。
自动化和脚本编写内容组织