Scala方法,返回多个连接过滤器函数
发布时间:2020-12-16 08:59:17 所属栏目:安全 来源:网络整理
导读:在我的应用程序中,我正在按各种类型过滤文件数组,如下所示: val files:Array[File] = recursiveListFiles(file) .filter(!_.toString.endsWith("png")) .filter(!_.toString.endsWith("gif")) .filter(!_.toString.endsWith("jpg")) .filter(!_.toString.en
在我的应用程序中,我正在按各种类型过滤文件数组,如下所示:
val files:Array[File] = recursiveListFiles(file) .filter(!_.toString.endsWith("png")) .filter(!_.toString.endsWith("gif")) .filter(!_.toString.endsWith("jpg")) .filter(!_.toString.endsWith("jpeg")) .filter(!_.toString.endsWith("bmp")) .filter(!_.toString.endsWith("db")) 但是,定义一个采用String数组并将所有这些过滤器作为连接函数返回的方法会更加巧妙.那可能吗? val files:Array[File] = recursiveListFiles(file).filter( notEndsWith("png","gif","jpg","jpeg","bmp","db") ) 解决方法
你可以这样做:
def notEndsWith(suffix: String*): File => Boolean = { file => !suffix.exists(file.getName.endsWith) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |