我在scala中做了一些基本的动手。我在定义一个名为processList的方法时遇到了编译时错误。
编译时错误是
Multiple markers at this line:
- only classes can have declared but undefined
members
我的代码如下,
package pack1
import scala.io.Source
case class Record(id:Int, name:String, city:String)
object ReadingFile {
def main(args: Array[String]): Unit = {
val fileLoc:String = "/home/edureka/surender/inputfiles/records.txt"
val fileData:List[String] = Source.fromFile(fileLoc).getLines().toList
val fileList =fileData.map { eachLine => {
val Array(a:String,b:String,c:String) = eachLine.split(",")
Record(a.toInt,b,c)
} }
println(fileList)
processList(fileList)
}
def processList(myList:List[Record])
{
}
}
我不知道如何解决这个问题,有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
由于def processList(myList:List[Record])
之后的新行,Scala编译器认为没有给出方法实现,并且块{}
下面不属于该方法。所以编译器认为它是一个抽象方法。
像这样声明processList
def processList(myList:List[Record]) {
}
或
def processList(myList:List[Record]): Unit = {
}
而不是这个
def processList(myList:List[Record])
//remove this line to fix the error
{
}
答案 1 :(得分:-1)
此代码存在问题,
@photo = Photo.find(params[:id])
这导致编译器认为这是两个不同的语句。因此,它认为您已离开def processList(myList:List[Record])
// <------ Notice this blank line
{
}
而未提供实施。 def processList(myList:List[Record])
或class
和case class
无法使用未实现的成员。
所以...只是解决这个问题,
object