多層アレイを作成する方法はありますか?こんにちは、
1) 1 つのキーが複数のレイヤーを取得する多層配列を作成しようとしています。これを実行する方法はありますか。たとえば、私の jsl は次のようになります。
EX = 連想配列( {"青", "緑", "赤"}, {1, 2, 3}, {"クマ", "ヤモリ", "ウサギ"} );
「青」を選択した場合に、1 と「熊」の両方が表示されるようにしたいと考えています。
2) 配列を関数にマッピングする方法はありますか。例えば、
EX = 連想配列( {"Blue", "Green"}, {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 )2番目の項目については、関数を参照してください名前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:マルチレイヤーアレイを作成する方法はありますか?実装するもう1つの方法は、次のとおりです。
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 ) );