JSL을 사용한 함수형 프로그래밍, 누구 있나요?함수형 프로그래밍을 사용하여 JSL을 작성하는 사람이 있습니까? 그렇다면 사용하는 표준 함수 세트가 있습니까?
예를 들어 아래의 단순화된 맵 함수는 for 루프의 모든 작업을 수행하므로 표현식과 목록만 지정하면 되며 함수는 각 요소에 대해 평가된 함수가 포함된 목록을 반환합니다. R에서는 유사한 기능과 그 변형을 패키지에서 찾을 수 있습니다. '푸르르' 라이오넬 헨리(Lionel Henry)와 해들리 위컴(Hadley Wickham) 지음.
// A function to evaluate an expression for each item in a list
//
// x__ A list
// fn__ An expression containing ___ (three underscores) that
// is replaced with each element of x__
//
// Returns a list the same length as x__.
//
map = function( {x__, fn__},
r__ = {};
for(i__ = 1, i__ <= N items( x__ ), i__++,
r__ = Insert( r__, Eval( substitute(Name Expr( fn__ ), Expr(___), Expr( x__[i__] ) ) ) );
);
return(r__);
);
//Data to evaluate
vals = { 1, 2, 3, -3, -2, 0.5, -1.1, 5.3, 2.7, 0 };
//number of entries above zero
map( vals, Expr( ___ > 0 ) );
//sum of fractional parts
sum( map( vals, Expr( Mod( ___, 1 ) ) ) );
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?정말 감사합니다 
각각을 변환하세요.
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?JMP 16에서는 기본 함수로 이를 용이하게 하는 세 가지 함수가 도입되었습니다. 다른 언어와는 다르게 느껴지지만 '기능적'입니다(내 말장난에 웃으며).
For Each() //Do something for each member - similar to apply
Transform Each() //Calculate something for each member - similar to map
Filter Each() //Return members for which a condition is true - similar to filter
이 도움말 파일에서 이러한 기능에 대한 자세한 내용을 찾아보세요.
https://www.jmp.com/support/help/en/17.1/index.shtml#page/jmp/conditional-and-logical-functions.shtml#ww10169888
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?그 와중에 혹시? 지도 이제 Jmp에서 직접 기능을 사용할 수 있습니까?
정말 유용해요!
https://reference.wolfram.com/언어/ref/Map.html
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?이 기능은 제가 익숙했던 것과 조금 다르게 작동하기 때문에 귀하의 라이브러리에서 시간을 좀 보내야 하지만 이것은 훌륭하고 공유해 주셔서 감사합니다!의심할 바 없이 당신 덕분에 제 시간이 많이 절약됐어요!
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?웃기게도 나는 몇 달 전에 이와 같은 것을 구현했고 당시에는 그것이 다른 사람들에게 유용할 것이라고 생각했습니다. 방금 여기에 게시했습니다. https://community.jmp.com/t5/JMP-Scripts/MFR-a-Functional-Programming-Library-for-JSL/ta-p/47803
도움이 되셨기를 바랍니다.
그런데 저는 해결하려는 문제에 따라 익명 함수를 전환해야 했지만 표현식보다 익명 함수를 사용하는 것을 선호합니다.
Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?저장된 if 함수는 약간의 치트이므로 두 번째로 나열했습니다. 이 함수는 목록을 구문 분석하여 if 문을 생성한 다음 해당 JSL을 파일에 기록한 다음 프로그램에 포함시킵니다.
즉시 if 문을 생성하는 함수를 시도했지만 성능 저하가 엄청났고 코드가 매우 정적이라는 것을 깨달았습니다. 따라서 생성된 if 함수를 저장한 다음 사용하는 것이 더 쉬웠습니다.Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?저장된 if 함수에 평가할 코드를 어떻게 전달합니까?오늘은 표현식이나 함수를 모두 사용하지만 앞으로는 하나의 세트로 표준화할 계획입니다.
다른 함수를 평가하는 맵 함수의 예:
map = function( {x, fn},
r = {};
for(i = 1, i <= N items( x ), i++,
r = Insert( r, fn( x[i] ) );
);
return(r);
);
//Anonymous function
map({1, 2, 3}, function({n}, n/2));
//Named function
foo = function( {v}, v * 2 );
map({1, 2, 3}, Expr( foo ) );Re: JSL을 사용한 함수형 프로그래밍을 사용하는 분 계시나요?나는 이 접근 방식을 사용했으며 데이터 테이블에서 동적 저널을 생성하고 테이블을 중첩 목록으로 변환했다가 다시 되돌리고 UI 대화 상자 창을 생성하는 기능을 가지고 있습니다.
나는 또한 JSL을 사용하여 내가 많이 사용하는 함수(조건 나열, true에 대한 상태 변경 및 더 이상 true가 아닌 경우 상태 변경(선택 사항))를 작성하는 데 JSL을 사용했습니다. 오타를 디버깅하는 데 지쳤기 때문입니다.