小编Ekk*_*anz的帖子

关于Scala关闭的问题(来自"Scala编程")

我不明白为什么作者说"Scala编程"的代码清单9.1使用了闭包.在第9章中,他们展示了如何将代码重构为更复杂的形式,从这个原始代码:

object FileMatcher {
  private def filesHere = (new java.io.File(".")).listFiles
  def filesEnding(query: String) =
    for (file <- filesHere; if file.getName.endsWith(query))
      yield file
  def filesContaining(query: String) =
    for (file <- filesHere; if file.getName.contains(query))
      yield file
  def filesRegex(query: String) =
    for (file <- filesHere; if file.getName.matches(query))
      yield file
}
Run Code Online (Sandbox Code Playgroud)

到第二个版本:

object FileMatcher {
  private def filesHere = (new java.io.File(".")).listFiles
  def filesMatching(query: String,
    matcher: (String, String) => Boolean) = {
      for (file <- filesHere; if matcher(file.getName, query))
        yield file
    }    
  def filesEnding(query: String) …
Run Code Online (Sandbox Code Playgroud)

closures scala

8
推荐指数
1
解决办法
2713
查看次数

如何在Scala中打印地图

好吧,这个问题似乎真的很愚蠢,但我的观点是,如果你看一下Scala 2.7.6 API,他们就不推荐使用mappingToString方法了.因此,应该有更优雅的替代方案来打印自定义格式的Map.因为几乎任何目的,在Map中使用mkString的等价方法非常方便.

你们怎么看待它?除println外,打印地图的编码片段是什么?

formatting scala map

5
推荐指数
2
解决办法
2万
查看次数

如何在scala中有效地同时处理300多个文件

我将使用Scala比较大约300个二进制文件,逐个字节,每个4MB.但是,根据我已经完成的工作,使用java.BufferedInputStream同时处理15个文件在我的机器上了大约90秒,所以我认为我的解决方案在大量文件方面不会很好.

我们非常感谢您的意见和建议.

编辑:实际任务不只是比较差异,而是以相同的顺序处理这些文件.比方说,我要看看字节第i个的每一个文件的同时,并移动到(第i + 1).

file-io scala

4
推荐指数
1
解决办法
463
查看次数

标签 统计

scala ×3

closures ×1

file-io ×1

formatting ×1

map ×1