0
私はスカラ座での再帰的なメソッドを実装しようとしていると可変性の問題(私はブランドのためのScala新たなんだ)に実行しています:変更Scalaの引数
def findMembersRecursive(path : String, members : Set[String]) : Unit = {
val candidates : Set[String] = candidateService.getProspectiveCandidates(path)
candidates.foreach { candidate =>
if(candidate.endsWith("hello")) {
members ++= candidate
} else {
findMembersRecursive(candidate, members)
}
}
}
だから、アイデアは、私たちのようにということです再帰的に実行すると、この一連の文字列(members
)が大きくなります。
members
が不変であるように見えるので、ここではcandidate
をmembers
に追加することはできません。どのように再帰的に動作するようにコードをリファクタリングすることができますか?
あなたはfindMembersRecursiveリターンメンバーをしないのはなぜ?なぜあなたは議論として 'メンバー'を保持したいのですか? – Nyavro