Scala-for与if

未看完,更多参见
在for中使用多个if过滤器

for (  
 file < - filesHere  
 if file.isFile;  
 if file.getName.endsWith(".scala")  
) println(file)  

如果使用的是小括号,就要在过滤器后面加分号来区分。如果使用大括号来环绕for语句,就不用加分号了
循环嵌套

def fileLines(file: java.io.File) =  
 scala.io.Source.fromFile(file).getLines.toList  
def grep(pattern: String) =  
 for {  
  file < - filesHere  
  if file.getName.endsWith(".scala")  
  line < - fileLines(file)  
  if line.trim.matches(pattern)  
 } println(file + ": " + line.trim)  
grep(".*gcd.*") 

先遍历 filesHere得到所有以 .scala结尾的文件,再遍历这些.scala结尾的文件,找到和传入的pattern相符合的文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容