下面的代码似乎工作正常。但我的问题是,为什么函数被定义为将字符串作为输入,但是在底部,它已经接受了一些输入整数?scala case类接受什么输入?
案例类
TempData(year:Int, month:String, Prec:Double, Maxtemp:Int, Meantemp:Int, Mintemp:Int)
def parseLine(line:String):TempData = {
val p = line.split(",")
TempData(p(1).toInt, p(3).toString, p(5).toDouble, p(6).toInt, p(8).toInt, p(10).toInt)
}
//> parseLine: (line: String)Tests.TempData
parseLine("Verizon, 2017, Alpha, October, gentlemen, 10.3, 5, Dallas, 67, schools, 42")
//> res0: Tests.TempData = TempData(2017, October, 10.3, 5, 67, 42)
但是,“Verizon,2017,Alpha,10月,先生们,10.3,5,达拉斯,67,学校,42”是函数中输入的内容,它不是字符串。它是字符串和整数的混合。 – Leealp
我并不担心标题。我只是在那里输入了一些东西,可以发布我的问题。我真正的问题是关于什么是函数的输入。 – Leealp
这是一个'String'。这些数字只是文本,是同一个'String'的一部分。尝试理解'val a:Int = 42'和'val b:String =“42”'之间的区别(注意引号)。 – fxlae