回复:將變量/表達式的內容而不是變量名插入新腳本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 等來完成,但我嘗試了很多此類方法的組合,但沒有成功。
自動化和腳本編寫內容組織