您的位置:首页 > 其它

scala(2)借贷模式

2015-09-04 16:32 267 查看
根据scala函数能作为参数进行传递的方法,我们很容易作出一些很不错的封装。

第一个例子

[code]def withInt(x: Int, f :Int => Int): Unit = {
  println(f(x))
}

def add(x: Int) = { x+2 }
withInt(10, add)


第二个例子

[code]import scala.reflect.io.File
import java.util.Scanner

# 这里传入一个Scanner函数, 隐式参数Scanner,返回值为空。
def withScanner(f: File, op: Scanner => Unit) = {
    val scanner = new Scanner(f.bufferedReader)
    try {
        op(scanner)
    } finally {
        scanner.close()
    }
}

withScanner(File("/proc/self/stat"),
    scanner => println("pid is " + scanner.next()))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: