“Higher order functions”的版本间差异

本页内容
(创建页面,内容为“{{DISPLAYTITLE:高阶函数}}6 = Scala 高阶函数 = Scala 函数 高阶函数(Higher-Order Function)就是操作其他函数的函数。 Scala 中允许使用高阶函数, 高阶函数可以使用其他函数作为参数,或者使用函数作为输出结果。 以下实例中,apply() 函数使用了另外一个函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v: <sample title="" de…”)
 
Neo讨论 | 贡献
无编辑摘要
 
第10行: 第10行:
以下实例中,apply() 函数使用了另外一个函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v:
以下实例中,apply() 函数使用了另外一个函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v:


<sample title="" desc="" lang="scala" hererun="1">
<pre>
object Test {
object Test {
   def main(args: Array[String]) {
   def main(args: Array[String]) {
第18行: 第18行:
   }
   }
   // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v
   // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v
   def apply(f: Int => String, v: Int) = f(v)
   def apply(f: Int =&gt; String, v: Int) = f(v)


   def layout[A](x: A) = "[" + x.toString() + "]"
   def layout[A](x: A) = &quot;[&quot; + x.toString() + &quot;]&quot;


}
}
</sample>
</pre>
执行以上代码,输出结果为:
执行以上代码,输出结果为:


<sample title="" desc="" lang="scala" hererun="1">
<pre>
$ scalac Test.scala
$ scalac Test.scala
$ scala Test
$ scala Test
[10]
[10]
</sample>
</pre>
[[scala functions|Scala 函数]]
[[scala functions|Scala 函数]]

2022年10月14日 (五) 16:51的最新版本

Scala 高阶函数

Scala 函数

高阶函数(Higher-Order Function)就是操作其他函数的函数。

Scala 中允许使用高阶函数, 高阶函数可以使用其他函数作为参数,或者使用函数作为输出结果。

以下实例中,apply() 函数使用了另外一个函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v:

object Test {
   def main(args: Array[String]) {

      println( apply( layout, 10) )

   }
   // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v
   def apply(f: Int => String, v: Int) = f(v)

   def layout[A](x: A) = "[" + x.toString() + "]"

}

执行以上代码,输出结果为:

$ scalac Test.scala
$ scala Test
[10]

Scala 函数

此页面最后编辑于2022年10月14日 (星期五) 16:51。