首页 > 其他 > 详细

Scala减少代码重复

时间:2016-08-04 14:48:47      阅读:281      评论:0      收藏:0      [点我收藏+]

高阶函数可以把其它函数当作函数参数,帮助我们减少代码重复,例如:

技术分享
object FileMatcher {
  private def fileHere = (new File(".\\file").listFiles())
  
  def fileEnding(query : String)  = {
    for(file <- fileHere if file.getName.endsWith(query))
      yield file
   
  }
  
  def fileMathching(query: String, matcher:(String, String) => Boolean) = {
    for(file <- fileHere if matcher(file.getName, query))
      yield file
  }
  
  def fileEnding2(query : String) = fileMathching(query, _.endsWith(_))
  
  def fileContains(query : String) = fileMathching(query, _.contains(_))
  
  def main(args: Array[String]): Unit = {
    
    fileEnding2(".scala").foreach { println } 
  }
}
View Code

 

Scala减少代码重复

原文:http://www.cnblogs.com/jiang-Xin/p/5736578.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!