与signature()=>匹配的匿名函数单位:斯卡拉

时间:2015-05-13 09:58:56

标签: scala types anonymous-function

下面的代码行是不言自明的

type a = () => Unit

def k(a_ : a) = {
  a_()
}

def g(): Unit = {
  println("Hello World")
}

k(g)

我的问题是如何在调用k?

时指定类型a的匿名函数

1 个答案:

答案 0 :(得分:2)

我希望这些内容也不言自明:

scala> k(() => println("Hello!")) //to your first question
Hello!

关于第二个问题:

scala>  def k(i: Int)(a_ : a) = {
  a_(i)
}
k: (i: Int)(a_: Int => Unit)Unit

scala> k(5)(g)
Swami saranam 5

P.S。我不建议用小写字母启动type别名。