Scala匿名函数

Scala匿名函数,scala,lambda,functional-programming,closures,anonymous-function,Scala,Lambda,Functional Programming,Closures,Anonymous Function,为什么我的匿名功能不起作用? 编译器在第行向我显示一个错误 foreach((line: String) => { 我的代码: Source.fromFile(siteDir.getPath).getLines() .map(_.trim()) .filter(!_.isEmpty()) .foreach((line: String) => { // I got here "error: type mismatch; found : Unit requi

为什么我的匿名功能不起作用? 编译器在第行向我显示一个错误

foreach((line: String) => {
我的代码:

Source.fromFile(siteDir.getPath).getLines()
    .map(_.trim())
    .filter(!_.isEmpty())
    .foreach((line: String) => { // I got here "error: type mismatch; found   : Unit required: String"
        val pos = line.indexOf('=')
        if (pos != -1) {
            val key = line.substring(0, pos).trim()
            val value = line.substring(pos + 1).trim()
            readMeCache(siteId.get) + (key -> value)
        }
    })

什么是正确的修复方法?

我认为您的代码示例缺少一些内容。这整段代码应该返回什么(并被分配给var/val或作为方法的结果返回)?如果是这样的话,您可以进一步扩展您的代码示例,并对这段代码的功能提供更多的解释。如果希望此块返回某些内容,则使用的
foreach
函数是错误的。@cmbaxter,是的,您是对的。Fixed@tmporaries你应该删除这个问题,然后2备注:你后面的trim语句似乎过时了+也许你可以使用split而不是index of and substring。