保留附加到資料表的 JSL 程式碼中的註解和空格當我編寫程式碼時,我會盡力使其易於閱讀、理解和維護。我寫評論。我縮排程式碼區塊。我使用換行符將程式碼分散到多行中。我嘗試以一致的風格編寫程式碼。然而,我經常發現 JMP 會在不詢問的情況下重新格式化我的程式碼。它只是決定抹掉我為良好編碼實踐所付出的所有努力。
例如,我編寫一個腳本並將其附加到資料表。然後我右鍵單擊腳本並按“複製”,然後在腳本視窗中右鍵單擊並按“貼上”。腳本的副本不包含原始腳本中的任何註解或程式碼區塊縮排。
另一個例子:我在資料表上建立一個公式列。在公式編輯器區塊內部,我編寫了一些 JSL 程式碼來執行迭代計算(這真的很酷。 我剛剛發現你可以做到這一點!)。當然,我想在這段程式碼中使用註釋和空格,就像我在任何地方編寫的任何程式碼中一樣。好吧,在我按 Enter 鍵後,註解是不可見的,直到我雙擊公式編輯器區塊為止。但它們確實存在。直到我單擊“確定”並且 JMP 計算公式。下次我打開公式時,註解和空格都消失了。
情況變得更糟。我的表上附加了多個腳本,它們都引用了某個列。然後我重命名該列。所有這些腳本都使用新的列名稱進行更新。但這樣做時,它們都被 JSL 解析器“重新格式化”,並且我的所有註釋和空格都被破壞了。ಠ_ಠ
如果 JMP 一有機會就立即將其刪除,那麼即使使用 JSL 語言進行註釋又有什麼意義呢?我是否應該在不那麼敵意的文字編輯器(即 Notepad++)中編輯 JSL 腳本並將可讀版本儲存為單獨的檔案?我只是不懂為什麼一定要這樣。請留下我的評論!
筆記: @Cwalla在論壇中報告了同樣的問題這裡
自動化和腳本編寫回覆:保留附加到資料表的 JSL 程式碼中的註解和空格 - 狀態變更為:已確認你好@克里斯_羅德里格斯, 謝謝你的建議! 我們已收到您的請求並將予以考慮。
回覆:保留附加到資料表的 JSL 程式碼中的註解和空格謝謝@XanGregg ,這解決了我的問題:)
回覆:保留附加到資料表的 JSL 程式碼中的註解和空格我在線程中添加了一個 JSL Quote 範例。
New Table( "formatted script",
New Script( "my script",
Eval( Parse(JSL Quote(
// example
x = 1;
Print( :column 1[1], y );
) )
)
),
New Column( "Column 1", Set Values( [5] ) )
)
回覆:保留附加到資料表的 JSL 程式碼中的註解和空格你好@克里斯_羅德里格斯,
我剛剛就這個主題進行了討論:如何使用新腳本保留格式和註釋
我的問題不會在完全相同的上下文中出現,但結果是相同的:當腳本使用以下命令將新腳本新增到資料表時新腳本 ()功能、註解和佈局都遺失了。
我認為可能有一個解決方法,但要在資料表內的腳本中重新插入註解和佈局,但看起來並非如此。
在我們等待您的願望清單項目獲得批准時,可以使用以下幾種解決方案:
- 將腳本儲存在單獨的檔案中。 在資料表中,您的腳本只是開啟 .jsl 檔案的連結。 這樣就不會遺失資訊。
- 將您的評論儲存在自訂評論功能中,該功能僅將您的評論寫入日誌中。 我知道這並不理想,因為您仍然可能會丟失佈局,但至少您的評論會被保留。
希望更多的人工藤這個願望,看起來非常有必要!
回覆:在 JSL 程式碼中保留註解和空格我確實將格式良好的腳本版本單獨儲存為文字檔案。 我希望 JMP 保留該格式。回覆:保留附加到資料表的 JSL 程式碼中的註解和空格大多數提到的問題都同時得到了解決 - 並且通過重新格式化我可以生活:)
剩下的就是:列公式中的註解。
由於 JMP 對客戶的聲音非常開放,我似乎有一個強有力的論點反對它:
註解不能保留在列公式中嗎?
為什麼?
回覆:保留附加到資料表的 JSL 程式碼中的註解和空格關於表腳本中列變數的重命名,有趣的是來源腳本也被編輯。
在此範例中,透過重新命名總計表中的資料列,來源腳本會被損壞:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dtsum = dt << Summary(
Group( :sex ),
Mean( :height ),
Link to original data table( 0 )
);
dtsum:sex << Set Name( "sex_2" );
回覆:保留附加到資料表的 JSL 程式碼中的註解和空格如果多個使用者使用同一個文件,那麼如果列公式中允許註釋,將會有很大幫助。
使用臨時變數來儲存註解字串:

是一個可以接受的解決方法 - 但註釋應該作為註釋可見。
如果可能的話:使用明確定義的顏色 - 將它們識別為註釋。
我剛剛發現了這個願望 - 完全相同的請求:
保留列公式中的註釋
@mia_stephens在其中一篇回覆中於 2023 年寫道:

現在還是這樣嗎?對於表腳本,問題似乎已同時解決。