複数の配列/別のコレクション内のアイテムの完全な反復に基づいて、Scala で不変のコレクションを作成するための優れたソリューションを共有できますか?
たとえば、Java では以下を使用できます。
List<String> signals = ...;
List<SignalState> states = ...;
List<SignalAndState> result = new ArrayList<~>(signals.size() * states.size());
for (String signal: signals) {
for (SignalState state: states) {
// some if() condition or process() function can be here
result.add(new SignalAndState(signal, state))
}
}
Scala を使用してこのようなものを構築するためのベスト プラクティスは何ですか? 同じアプローチ (for() で for() を使用する) は悪い考えだと思います。Scala 言語のオブジェクト関数型の性質とはまったく互換性がありません。