scala(2)借贷模式

来源:互联网 发布:性价比 实木家具 知乎 编辑:程序博客网 时间:2024/04/30 12:14

根据scala函数能作为参数进行传递的方法,我们很容易作出一些很不错的封装。

第一个例子

def withInt(x: Int, f :Int => Int): Unit = {  println(f(x))}def add(x: Int) = { x+2 }withInt(10, add)

第二个例子

import scala.reflect.io.Fileimport 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()))
0 0
原创粉丝点击