다층 배열을 만드는 방법이 있나요?안녕,
1) 한 키가 여러 레이어를 갖는 다중 레이어 배열을 만들려고 합니다. 이를 수행할 방법이 있습니까? 예를 들어, 제 jsl은 다음과 같아야 합니다.
EX = 연관 배열( {"파란색", "녹색", "빨간색"}, {1, 2, 3}, {"곰", "도마뱀", "토끼"} );
"파란색"을 선택하면 1과 "곰"이 둘 다 나오도록 만들고 싶습니다.
2) 배열을 함수에 매핑할 방법이 있습니까? 예를 들어,
EX = 연관 배열( {"파란색", "녹색"}, {functionA, functionB} );
반환된 값이 함수를 트리거하는 방법이 있나요? 시도해 보았는데, 제가 얻는 값은 문자열입니다. 즉, "Blue"를 선택하면 functionA를 실행하는 대신 "functionA" 문자열을 얻습니다.
고급 통계 모델링자동화 및 스크립팅데이터 탐색 및 시각화Re: 다층 배열을 만드는 방법이 있습니까?불행히도 JMP는 지퍼() 목록에 대한 기능이지만 첫 번째 항목에 대한 솔루션으로 쉽게 만들 수 있습니다.
zip = Function( {list a, list b},
{zipped, i},
zipped = {};
Summation( i = 1, Min( Length( list a ), Length( list b ) ),
zipped[i] = Eval List( {list a[i], list b[i]} );
0
);
zipped
);
EX = Associative Array( {"Blue", "Green", "Red"}, zip( {1, 2, 3}, {"Bear", "Gecko", "Rabbit"} ) );
Show( ex )두 번째 항목의 경우 기능을 참조하십시오. 이름 Expr() -- 그것은 당신이 원하는 것을 해야 합니다.그러나 JSL 파서의 제한으로 인해 먼저 함수에 대한 임시 변수를 설정한 다음 해당 임시 변수에서 호출해야 합니다.
zip = Function( {list a, list b},
{zipped, i},
zipped = {};
Summation( i = 1, Min( Length( list a ), Length( list b ) ),
zipped[i] = Eval List( {list a[i], list b[i]} );
0
);
zipped
);
EX = [=>];
EX["zip"] = Name Expr( zip );
func = ex["zip"];
Show( func( {1, 2, 3}, {"Bear", "Gecko", "Rabbit"} ) )Re: 다층 배열을 만드는 방법이 있습니까?구현하는 또 다른 방법은 다음과 같습니다.
Names Default To Here( 1 );
// nested structure
EX = Associative Array( {"Blue", "Green", "Red"}, {{1, "Bear"}, {2, , "Gecko"}, {3, "Rabbit"}} );
Show( EX["Blue"] );
// Function example
myadd = Function( {op1, op2},
op1 + op2
);
mymult = Function( {op1, op2},
op1 * op2
);
func_aa = Associative Array( {"add", "mult"}, {myadd, mymult} );
myfunc = func_aa["add"];
Show( myfunc( 1, 2 ) );