繁体   English   中英

A => A = a => scala中的平均值是什么

[英]What does A => A = a => a mean in scala

我在我不理解的scala中找到了以下语法

object Category {
    def id[A]: A => A = a => a
}

特别是这部分A = a => a

谁可以用更易懂的语法翻译

这行:

def id[A]: A => A = a => a

定义一个名为id的方法,该方法的类型参数为A

该方法的返回类型为A => A ,即:一个接受A并返回A的函数。

=a => a之后的部分是id方法的主体。 它的字面,需要一个值的函数等a ,并返回同样的事情a

您专门询问的部分: A = a => a本身并不是一个部分。 A => A是方法id的返回类型,而a => a是方法的主体。 就像任何其他方法一样,这两部分之间的=将方法声明与方法主体分开。

您可以这样写:

def id[A]: Function1[A, A] = a => a

这是一种方法,该方法返回一个接受A的函数并返回另一个A的函数,并且它返回的函数是一个identity (您将获得类型A的变量a并仅返回它):

scala> object Category {
 |     def id[A]: A => A = a => a
 | }
defined module Category

scala> Category.id[Int]
res0: Int => Int = <function1>

scala> res0(0)
res2: Int = 0

坦白地说,您不确定要在这里实现什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM