1

APL を使用するときにeach演算子を頻繁に使用する必要があるのか​​、それとも特定の問題に対する別の解決策を見つけようとする必要があるのか​​疑問に思っています。

この演算子の使用法は APL でどのように最適化されていますか?

4

2 に答える 2

1

のようなものを書く代わりに

1 +" 2 x" 3|" (1 2 3) (4 5 6)    // sorry, no apl chars

私は書くだろう

{1 + 2 x 3 | omega}" (1 2 3) (4 5 6)

また

foo" (1 2 3) (4 5 6)

foo には計算が含まれます。

つまり、機能を組み合わせることができる場合は、連続する各操作を連鎖させないでください。Dyalog DFN {...} は、これを実現する優れた方法を提供します。

しかし、何よりもまず、より速く実行される回避策があるかどうかを考えずに、可能な限り自然な方法で問題を解決しようとします。ソリューションが十分に優れている場合、つまり、適切に機能し、将来いつかあなたと同僚がそれを理解できるようになる場合は、そのままにしておきます。

于 2014-08-07T09:31:54.323 に答える
0

ほとんどの場合、それぞれを使用しない配列ソリューションほど優れたパフォーマンスはありませんが、複雑な式をコーディングする最も簡単で明確な方法である場合があります。しかし、明確さと複雑さがほぼ同じタスクを実行する方法が 2 つあり、どちらかがどちらも使用しない場合、私はその方法を選択する傾向があります。もちろん、それが重要な場合は、器具と測定器です。これが非常に大きなデータで機能していない限り、問題にならない可能性が非常に高くなります。長時間実行される操作または外部サービスへの呼び出しで使用されるそれぞれについての上記のコメントは正確です。

于 2014-11-13T19:28:17.060 に答える