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 教师闺蜜祝福语简短