大家好,
我正在努力解決如何解決 Parse() 添加額外空格的問題,因為它會幹擾我的程式碼的評估。
我有一個數據表,其中有一個感興趣的列,其名稱類似於“AA BBBB CCC(dd)”,並且我正在進行評估,我想模擬我所做的擬合的估計。 我執行此操作的程式碼部分如下:
Eval(
Parse(
"\[report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( ]\"
|| YCols[1] || "\[ ),
In( :Simulated Y )
);]\"
)
);
這在大多數情況下都非常有效,但是 Parse() 命令在解析變數 YCols[1] 時會添加額外的空格,並且當它這樣做時,Simulate 平台會認為該列不存在,因為它正在尋找名稱有額外的空格。 當我評估 YCols[1] 時,我得到的列名如上所示:「AA BBBB CCC(dd)」。 但是,當我 Parse(YCols[1]) 時,Eval() 運行的實際程式碼使用的列的名稱如下所示:“AA BBBB CCC( d - d )”,這不是正確的列名稱是因為Parse( ) 在括號和字母“d”之間添加了額外的空格,以及在“-”短劃線字元周圍添加了額外的空格。 這是當我只運行上面程式碼的 Parse() 部分時嵌入日誌中的輸出:
report_of_interest[編號列框( 8 )] << 模擬(
NBSnum,
隨機種子(RSnum),
輸出( AA BBB CCC( d - d ) ),
In( :模擬 Y )
)
有沒有辦法解決這個問題,或者有另一種方法來建立用於解析的字串,而不會添加額外的空格?
我甚至嘗試了以下方法來建立用於解析的字串,但這也導致模擬平台尋找帶有額外空格的列名稱。
str = Eval Insert(
"report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out("
);
str2 = Eval Insert( " ),
:Simulated Y )
)" );
Eval( Parse( str || ":" || Char( Eval( YCols )[1] ) || str2 ) );我知道 JSL 不關心額外的空格,但 JMP 關心列名稱。
任何想法/想法都非常感激。
謝謝!,
DS