scala - 读取 scala 函数

标签 scala function

我正在阅读this page ,我在 scala 中遇到了这个函数定义:

def upper: String => String = _.toUpperCase

尝试了一下,效果好像是这样的:

def upper = (str: String) => str.toUpperCase()

两个功能一样吗?如果是这样,我如何阅读上面的函数(第一个)?这种定义定义的方式有具体的名字吗?

最佳答案

这实际上不是一个函数,而是一个方法。 您可以阅读有关两者之间的区别 here and here

这两者是相同的,它是一个名为 upper 的方法,没有参数,它返回一个从 String 到 String 的函数。

def upper: String => String = _.toUpperCase

String => String 是 upper 的返回类型。等号后面的是实现。下划线只是一个语法糖,用于引用函数参数。

关于scala - 读取 scala 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234882/

相关文章:

scala - 可以将文件和文件夹排除在 scct 的处理之外吗?

Scala:隐式、子类化和成员类型

javascript - Protractor 中的动态属性值元素定位器

在 smallint 中记录 uint 的 PostgreSQL 函数

Scala Postfix 运算符警告与 Scaladoc 相矛盾

scala - 使用dispatch.Http时如何设置代理服务器?

json - 将 JSON 文件读入 Spark 数据集并从单独的 Map 添加列

javascript - 具有子功能的功能还有它自己的...功能...?

function - Haskell 检查空列表

php - 找到 attr ('href' ) 并打开页面上隐藏的 iframe 内部,然后 show() iframe (jQuery + PHP)