サンプルの配列 D があり、これを一様に再サンプリングして置換し、新しい配列を構築したいと考えています。手続き型ソリューションは非常に簡単ですが、「機能的な方法」でそれを行う方法について誰かがアイデアを持っているのだろうか? (私は Scala と関数型プログラミングを始めたばかりです)
私が何を意味するかを示す機能的な実装:
val D = Array(0,1,2,3,4)
val R = new Random();
var ResampledD = Array[Int]();
var i = 0;
while (i < D.length) {
ResampledD = ResampledD :+ D(R.nextInt(D.length));
i = i + 1;
}
ResampledD
> res0: Array[Array[Int]] = Array(2, 2, 1, 3, 2)