scala-yield语法
我正在读一本关于scala编程(scala中的编程)的书,我有一个关于yield语法的问题 根据这本书,yield的语法可以表示为: for子句屈服体 但是当我尝试运行下面的脚本时,编译器抱怨getName的参数太多scala-yield语法,scala,yield,Scala,Yield,我正在读一本关于scala编程(scala中的编程)的书,我有一个关于yield语法的问题 根据这本书,yield的语法可以表示为: for子句屈服体 但是当我尝试运行下面的脚本时,编译器抱怨getName的参数太多 def scalaFiles = for ( file <- filesHere if file.isFile if file.getName.endsWith(".scala") ) yield file.getName { //
def scalaFiles =
for (
file <- filesHere
if file.isFile
if file.getName.endsWith(".scala")
) yield file.getName {
// isn't this supposed to be the body part?
}
def scalaFiles=
为了(
file简而言之,任何表达式(即使是该返回单位),但必须将该表达式括在括号中或直接将其放下(仅适用于单个语句表达式):
下一个选择是:
for(...) yield file.getName
作为提示,你可以改写你的理解,如下所示:
def scalaFiles =
for (
file <- filesHere;
if file.isFile;
name = file.getName;
if name.endsWith(".scala")
) yield {
name
}
def scalaFiles=
为了(
文件啊,我明白了!谢谢你的回答!
for(...) yield file.getName
def scalaFiles =
for (
file <- filesHere;
if file.isFile;
name = file.getName;
if name.endsWith(".scala")
) yield {
name
}