[英]for-loop with Double in Scala
它可以像波纹管一样使用
val ls = for(i <- 1 to 5) yield i
但是不可能使用它
val la:Double = 100000000000000d
val ls = for(i <- la to la + 1) yield i
因为如果这个元素是双 , 创造 Range.Partial [双,scala.collection.immutable.NumericRange [双]不具有映射 。
要使用双 for循环使用,该如何处理呢?
我认为你需要指定的方法by
将范围将从Range.Partial[Double,scala.collection.immutable.NumericRange[Double]]
入scala.collection.immutable.NumericRange[Double]
例如
for (i <- la to la + 1 by 1.0) yield i
更新
在scala.collection.immutable.Range.Partial
类的scala源代码中,您可以看到它们背后的推理 。
与使用整数范围不同,无法知道范围的默认步长。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.