烘焙選項 1:Eval ()、Parse () 和遞歸,元編程中的冒險 - JMP 用戶社區來自 Jed Cambell(JMP US 系統工程師)
嗨瑪麗亞,
這裡有一個潛在的代碼: Eval ()、Parse () 和 Recursion,元編程中的冒險 - JMP 用戶社區
即使我不能參加會議,也可以隨意使用它(至少我很想觀看錄音)。註解應該解釋變數名稱的雙重使用,我認為使用 Expr() 而不是 Eval(Parse()) 會更好
最好的,
傑德
回覆:烘焙選項 1:Eval ()、Parse () 和遞歸,元編程的冒險 - JMP 用戶社區這可以作為烘焙腳本的基礎。傑德的腳本是一個關於如何構建該腳本的“過程”,但如果我們只採用最後一部分就可以了(在我看來)。
所以這部分:
//determine number of parts
New Window ("How many parts?",
<< Modal,
neb = Number Edit Box (10),
Button Box ("OK", numParts = neb << Get;)
);
show(numParts);
listParts = {};
//Build first portion of script for modal window
//Escape character sequence for " is \!"
a = "
New Window(\!"Get Pass/Fail List\!",
<<MODAL></MODAL>
<P>在此腳本中,這些可能是一些可能的“烘焙”點:</P>
<UL>
<LI>開頭沒有名稱預設為此處(1)</LI>
<LI>腳本沒有標題</LI>
<LI>缺少變數引用</LI>
<LI>我認為用戶應該能夠在第一個模式視窗上“退出”</LI>
<LI>允許 0, .以及部件號的負值(這些將稍後創建空窗口,它們不會使應用程式崩潰)</LI>
<LI>變數名不具描述性</LI>
<LI>使用 Evil(Parse()) 會帶來許多不同的(潛在的)問題</LI>
<LI>當您應該只有兩個選項可供選擇(通過或失敗)時使用文字編輯框<UL><LI>組合框/單選框/複選框通常會更好</LI></UL></LI>
<LI>Pass 預設值好嗎?一般來說,我會將 Fail 設定為預設值(或甚至更好的「空」、「未選擇」以確保用戶已做出選擇)</LI>
<LI>如果我們認為這是 JMP18 腳本(我知道它不是為 JMP18 構建的),我會更新模式視窗以使用 << Type</LI>
<LI>是否有必要使用清單來收集參考和值?<UL><LI>不是,但這是簡單的方法</LI></UL></LI>
</UL>
<P> </P>
<P>我們不知道這個腳本的確切目的。它必須有兩個模式視窗嗎?在創建第二個模式之前是否有必要確定零件數量,或者是否可以將它們放在同一視窗中,或者讓使用者透過按下按鈕添加更多零件。但這些也能算烤點吧?在開始從事這項工作之前,您是否有適當的規範?正在解決哪些問題?</P>
<P> </P>
<P>我還可以想出我經常看到的非常基本的腳本(當我開始時我已經寫過類似的東西)。取得資料(SQL 查詢、開啟表、Excel 等)、新增一些公式列、建立總計表,然後建立包含少量報表的視窗。最後將其另存為互動式.html。</P>
<P> </P>