0
我通过线使用这种循环读取文件行:文件I/O循环过早打破?
for(line <- s.getLines()){
mylist += otherFunction(line);
}
其中变量mylist
是ArrayBuffer
存储的数据类型定制的集合。该otherFunction(line);
做这样的事情...
def otherFunction(list:String)={
val line = s.getLine(index);
val t = new CustomType(0,1,line(0));
t
}
和CustomType
被定义为...
class CustomType(name:String,id:Int,num:Int){}
我ommitted很多代码,你可以看到,因为它是不相关的。我可以运行其余的函数,只要我注释掉otherFunction()
的最后一行,它就会逐行读取文件直到EOF。为什么要将此函数中的值返回给我的列表,导致我的for循环停止?
正如书面'otherFunction'返回'单元',所以它可能不会做你想做的。同样根据经验,错误的来源往往在于人们认为不相关的东西。如果您将代码缩减为裸编译片段,则更容易提供帮助。 – huynhjl 2012-02-04 21:38:24
@huynhji我已更新我的代码以反映您的请求。 – user1189870 2012-02-04 22:14:21
你已经省略了's'的类型,这可能是相当重要的... – 2012-02-04 23:46:52