我是Scala的新手,我仍然习惯于习惯它的语法和规则。
我有一个方法,它接受两个输入并返回一个列表,其中包含数字,不包括最后一个数字。例如:
int a = 2
int b = 5
列表为{2,3,4}
我有一个创建列表的方法,但也考虑了最后一位数。
def fromTo(low:Int,high:Int): List[Int] = {
if(low == high)
lo::Nil
else
lo::fromTo(low+1,hi)
}
我尝试创建一个新变量但是没有用。关于如何使最后一位数字不属于列表的任何想法?
答案 0 :(得分:1)
考虑你的基本情况。如果您为某个整数fromTo(a,a)
调用a
会发生什么情况。
也许有点偏离主题,但你也假设low <= high
也可能想要查看它。
答案 1 :(得分:0)
我不确定你是否特意尝试使用递归调用,但如果您真正想要的是从X到Y的数字列表(不包括Y),您可以执行以下操作:
scala> (2 until 5).toList
res3: List[Int] = List(2, 3, 4)