7.3 for表达式(2)
如果愿意的话,你可以包含更多的过滤器。只要不断加到子句里即可。例如,为了加强防卫,代码7.7中的代码仅仅打印文件而不是目录。通过增加过滤器检查file的isFile方法做到:
- for (
- file <- filesHere
- if file.isFile;
- if file.getName.endsWith(".scala")
- ) println(file)
代码 7.7 在for表达式中使用多个过滤器
注意
如果在发生器中加入超过一个过滤器,if子句必须用分号分隔。这是代码7.7中的"if file.isFile"过滤器之后带着分号的原因。