任务是编写一个函数,它可以生成给定数量的不大于另一个给定数字的整数。我现在得到的代码如下所示:如何在Scala中生成一个小于数字的随机整数序列?
scala> def lotto(count: Int, max: Int): Seq[Int] = {
| var result = Seq[Int]();
| var x: Int = 0;
| for(x <- 1 to count){
| result = scala.util.Random.nextInt(max) :+ result
| }
| }
<console>:13: error: value :+ is not a member of Int
result = scala.util.Random.nextInt(max) :+ result
^
<console>:12: error: type mismatch;
found : Unit
required: Seq[Int]
for(x <- 1 to count){
^
它不能编译,因为你可以看到。有人可以解释这里有什么问题吗?
使用+:,右联合算子。 –
作为一个方面说明,你不需要声明'var x' - '(x < - 1 to count)'里面的'x''是一个_different_'x',它比你声明的那个'_different''x'更小。另外,如果你使用'for' /'yield',你可以把'result'变成'val'。 –
删除'var x:Int = 0;',你不需要声明一个变量,事实上它甚至在循环中都没有使用,就像Daniel说的那样。此外,摆脱分号,你不需要他们在斯卡拉。 – Jesper