解析最外層引用的字串我正在編寫一個腳本,在數據表上創建一個附加腳本作為“新腳本”。但是我在解析我設定為要放置在新腳本中的程式碼的字串時遇到問題。
問題是當我執行「dt << New Script("Script", parse(a));」時當它解析字串時,它假定圖形產生器之前的引用是第一個引用,然後在「圖形標題」部分的開頭結束該引用並結束。我需要能夠在腳本中寫入我的腳本正在寫入資料表的信息,當我將它們放入腳本中時,許多引號都無需解析。
程式碼看起來像這樣:
a = "Parse(Eval(Eval Insert(
"Graph Builder(
...
Dispatch(
... ,"Graph Title",
),
....
)"
)));
大規模客製化回复:解析最外層引號字符串你好@馬丁.
這是 Big Class 和 Substitute 的例子
a) 將 TempY 替換為變量
b) 將代碼獲取到 NewScript 函數中。
這溫度Y在“元素”有被“Y”代替,所以你可以直接把“Y”放在那裡。
您想更改變量中的“Y”嗎?
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
TempY=Expr(Y);
myCode= Substitute(Expr(
Graph Builder(
Size( 1500, 400 ),
Show Control Panel( 0 ),
Show Title( 0 ),
Variables(
X( :age ),
Y( :height /*change this one*/ )
),
Elements( Points( X, TempY, Legend( 6 ) ) )
)),
Expr(TempY),Name Expr(TempY));
Eval(Substitute(Expr(dt << New Script("Script", __script__)),Expr(__script__),Name Expr(myCode)))
回复:解析最外層引號字符串我同意您應該學習如何使用表達式,但您還需要學習如何使用字符串。 使用 \!" 轉義序列在字符串中輸入雙引號。 否則,引號將被解釋為您發現的字符串定界符。
回复:解析最外層引號字符串這是我需要放入新表腳本的確切腳本:
Eval(
Parse(
eval Insert(
"\[Graph Builder(
Size( 1500, 400 ),
Show Control Panel( 0 ),
Show Title( 0 ),
Variables(
X( :TIME ),
Y( :Y )
),
Elements( Points( X, ^TempY^, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "My New Title" ),
Image Export Display( Normal )}
),
Dispatch(
{},
"TIME",
ScaleBox,
{Format( "Format Pattern", "<M><-><D><-><YY> <ZHH><AMPM>" ),
Min( 3717386000 ), Max( 3717507800 ), Interval( "Hour" ), Inc( 4 ),
Minor Ticks( 0 ), Label Row( Label Orientation( "Vertical" ) )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Graph Title" )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Text( "Thing of Interest" )}
)
)
)]\"
)
)
);</AMPM></ZHH></YY></D></M>“Eval(Parse(Eval Insert(”的原因是因為腳本“TempY”中有一個變量,它是另一個表變量的名稱,該變量通過輸入窗口中的單選框更改。
回复:解析最外層引號字符串您可能需要查看 expr() 並插入 into() 或替換 into() 來構建新的表腳本。 如果您擴展您的 scipt 以顯示您擁有的內容,我們可能會更詳細地幫助您。