我正在学习scala,我想知道是否可以通过以下方式声明一个val:
val aLotOfZero : String = for(i<-0 to 63) {"0"}
而不是
var tmp : String = ""
for(i<-0 to 63)
{
tmp += "0"
}
val aLotOfZero : String = tmp
如果可以替换&#34; 0&#34;通过其他东西。
谢谢你
答案 0 :(得分:2)
如果您想要使用String
零来构建n
值,则可以使用for
生成字符0
,然后返回{{1}使用Vector
的字符串如下:
mkString
然后,你可以通过同样添加一个参数来概括它:
scala> val aLotOfZeroes: String = (for (i <- 0 to 63) yield "0").mkString
aLotOfZeroes: String = 0000000000000000000000000000000000000000000000000000000000000000
此外,根据@ dividebyzero的评论,您可以使用scala> def aLotOfZeroes(n: Int): String = (for (i <- 0 to n) yield "0").mkString
aLotOfZeroes: (n: Int)String
scala> aLotOfZeroes(10)
res2: String = 00000000000
scala> val zeroes: String = aLotOfZeroes(10)
zeroes: String = 00000000000
scala> zeroes
res3: String = 00000000000
:
*
并定义:
scala> "0" * 64
res13: String = 0000000000000000000000000000000000000000000000000000000000000000