2009年 07月 07日

Ruby っぽいブロックのとりかた

object Main extends Application {
	def rubylike (s:Int, e:Int)(f:Int => Unit) = {
		(s to e).foreach { i =>
			f(i)
		}
	}

	rubylike(1, 10) { i =>
		println(i)
	}
}

部分的にカリー化して最後に関数をひとつだけとるようにすると、いい感じに書ける