사용자 정의 함수는 다중 출력을 반환합니다.안녕하세요,
사용자 정의 함수가 둘 이상의 인수를 출력으로 반환하도록 허용하는 기능에 대한 요청을 열고 싶습니다. 내 생각이 틀리지 않다면 JSL의 사용자 정의 함수에 대한 현재 정의는 다음과 같습니다.
FunctionName = function({args_list},{localvars_List},
// Logic
// Return
Return(OutputVar); // where OutputVar can be list or data table or matrix
); 함수를 호출할 때 여러 인수를 쉽게 검색할 수 있도록 하면 매우 유리할 것이라고 생각합니다. 그러한 기능이 이미 존재하는 경우 예를 제공해 주시기 바랍니다.
자동화 및 스크립팅답변: 사용자 정의 함수가 다중 출력을 반환함 - 상태가 다음으로 변경됨: 전달됨Re: 사용자 정의 함수가 여러 출력을 반환합니다.@uday_guntupalli , JMP 14부터 Return() 함수를 사용하여 여러 값을 반환할 수 있습니다(EvalList(List())가 필요 없음).S1298458
확실해 @Jeff_Perkinson 곧 방문하여(수정: 이미 완료함) 이 문제를 해결된 것으로 표시합니다(관리자만 상태를 변경할 수 있으므로).
답변: 사용자 정의 기능이 다중 출력을 반환함 - 상태가 다음으로 변경됨: 이미 제공됨위에서 설명한 것처럼 JSL은 이미 목록을 반환하여 이를 지원합니다.
또 다른 옵션은 연관 배열을 반환하는 것입니다. 이렇게 하면 함수 호출자가 결과의 순서를 기억할 필요가 없습니다.
mathOps = function({a,b},
{default local},
associative array({"sum", "difference", "product", "quotient"}, eval list({a+b, a-b, a*b, a/b}))
);
results = mathOps(10,5);
show(results["sum"]);Re: 사용자 정의 함수가 여러 출력을 반환합니다.@brady_brady ,
예시를 들어주셔서 감사합니다. 옵션이 표시되지 않으므로 아이디어를 "기능 존재"로 표시해 주시겠습니까?
Re: 사용자 정의 함수가 여러 출력을 반환합니다.반환 값 목록을 반환하여 이를 수행할 수 있습니다. 대부분의 경우 Eval List( )를 사용하여 목록을 반환하기 전에 목록을 평가하고 싶을 것입니다.
예를 들어, 아래 표시된 MathOps 함수는 두 숫자를 입력으로 사용하여 해당 숫자의 합계, 차이, 곱 및 몫을 반환합니다.
건배,
브래디
mathOps = function({a,b},
{default local},
evallist({a+b, a-b, a*b, a/b})
);
{s, d, p, q} = mathOps(10,5);