新手練習 JSL - 意外的「{」。可能少了一個“;”或 ”,”。你好,
我正在練習 JSL 選擇要透過檔案對話方塊視窗開啟的 .jmp 檔案。如果用戶沒有做出選擇,則退出。
但是,我收到以下錯誤:
出乎意料 "{".可能少了一個“;”或 ”,”。
第 7 行第 21 列:if (Is Missing(fn)) ►{
其餘被忽略的文本是
{退出();}打開(fn);
我的腳本如下:
// Open a dialog to choose a .jmp file to open
// Get the filename of the .jmp file to open
fn = Pick File("Select a .jmp file to open", "", {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 1, "Default Filename.jmp");
// If the user did not select a file, exit the script
if (Is Missing(fn)) {
exit();
}
// Open the selected file
Open(fn);如果有人能指出我在這裡缺少的內容,我將不勝感激。
謝謝。
自動化和腳本編寫回覆:新手練習 JSL - 意外的「{」。可能少了一個“;”或 ”,”。我建議您花時間閱讀腳本指南。您會發現它是學習 JSL 結構和語法的有效方法。
關於你的程式碼:
您的 If() 語句語法不正確。 If() 語句的形式為:
If( condition1, result1, ,...,)
您收到的錯誤語句指向第 7 行第 21 列「{」;您的 If() 函數有條件但沒有結果。
If (Is Missing(fn))
它有一個條件,但第二個“)”結束了該語句。然後 JMP 遇到“{”並且不知道如何處理它。我相信你真正想要的是:
If( Is Missing( fn ),
Exit(),
// Else Open the selected file
Open( fn )
);
我還建議您可能需要仔細考慮使用
Exit()
它終止 JMP。
您可能只想停止腳本的執行,但讓使用者保持 JMP 會話保持開啟。為此,請使用
Throw()
功能。
回覆:新手練習 JSL - 意外的「{」。可能少了一個“;”或 ”,”。您使用的語法不正確(使用 ( 代替 } 和 ) 代替 },也用 ; 結束表達式)。
在學習 JSL 時,您應該閱讀腳本指南 (jmp.com) 。還有一些關於 JSL 的課程,例如這裡的JMP 腳本語言課程簡介,還有 JSL Scripters Club 使用者群組JMP Scripters Club - JMP User Community提供的資料。