gpt4 book ai didi

scala - Scala 方法调用中的花括号

转载 作者:行者123 更新时间:2023-12-04 23:13:20 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why use curly braces over parentheses?

(3 个回答)


3年前关闭。




在 Scala 中,我们可以有:

println { "Hello, world!" }



从“Scala 编程”一书中:

The purpose of this ability to substitute curly braces for parentheses for passing in one argument is to enable client programmers to write function literals between curly braces. This can make a method call feel more like a control abstraction.



这个声明是什么意思?

最佳答案

这是仅用于外观和感觉的语法糖。当一个函数接受一个函数作为参数时

def doWith[A, B](todo: A => B): B = ???

你通常必须这样称呼它
doWith( input => ... )
// or even
doWith({ input => ... })

在scala中,允许用大括号替换括号,所以
doWith { input =>
...
}

具有控制结构的外观,如
if (...) {
...
}

恕我直言,这使得调用诸如“map”或“collect”之类的高阶函数更具可读性:
someCollection.map { elem =>
...
...
}

本质上与
someCollection.map({ elem =>
...
...
})

用更少的字符。

关于scala - Scala 方法调用中的花括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49706714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com