Scala使用流生成随机序列
示例
genRandom创建一个随机数流,每次调用都有四分之一的机会终止。
def genRandom: Stream[String] = {
val random = scala.util.Random.nextFloat()
println(s"Random value is: $random")
if (random < 0.25) {
Stream.empty[String]
} else {
("%.3f : A random number" format random) #:: genRandom
}
}
lazy val randos = genRandom //当randos迭代通过时,对getRandom进行惰性计算
for {
x <- randos
} println(x) //有效地随机打印此打印的次数。请注意,该#::构造会延迟递归:因为它是将当前随机数放在流之前,所以它不会评估流的其余部分,直到迭代为止。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短