로스팅 옵션 1: Eval(), Parse() 및 재귀, 메타 프로그래밍의 모험 - JMP 사용자 커뮤니티Jed Cambell(시스템 엔지니어, JMP US)
안녕하세요 마리아,
다음은 로스트할 수 있는 잠재적 코드입니다: Eval(), Parse() 및 Recursion, 메타 프로그래밍의 모험 - JMP 사용자 커뮤니티
회의에 참석할 수 없더라도 자유롭게 사용하세요(적어도 녹화된 것을 보고 싶습니다). 주석에는 변수 이름의 이중 사용에 대한 설명이 있어야 하며, Eval(Parse()) 대신 Expr()을 사용하는 것이 더 나을 것이라고 생각합니다.
최상의,
제드
Re: 로스팅 옵션 1: Eval(), Parse() 및 재귀, 메타 프로그래밍의 모험 - JMP 사용자 커뮤니티그것은 로스팅 스크립트의 기초로 작용할 수 있습니다. Jed의 스크립트는 그 스크립트가 어떻게 만들어졌는지에 대한 "프로세스"이지만 우리가 마지막 부분만 취하면 (제 생각에는) 효과가 있을 것입니다.
그래서 이 부분은:
//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 쿼리, 테이블 열기, 엑셀,...), 몇 가지 수식 열을 추가하고, 요약 테이블을 만들고, 몇 가지 보고서가 있는 창을 만듭니다. 그리고 마지막으로 대화형 .html로 저장합니다.</P>
<P> </P>