如何使用Function0编写Function1

时间:2015-06-18 12:22:15

标签: scala

给定Function1Function0

val f = () => "toto"
val g = (s : String) => s.length

有没有更好的方法来组成它们?

val h : () => Int = () => g.apply(f())

2 个答案:

答案 0 :(得分:1)

看起来不错,我.toString length代表一个字符串并直接使用g(...)代替g.apply(...)

val f = () => "toto"
val g = (s: String) => s.length.toString
val h: () => String = () => g(f())

答案 1 :(得分:1)

您可以使用撰写:

val h: Unit => Int = {s: String => s.length} compose {_: Unit => "toto"}