gpt4 book ai didi

scala - Scala 中是否有用于在匿名函数中绑定(bind)值的语法糖?

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

而不是写

((x: Double) => (((y: Double) => y*y))(x+x))(3)

我想写一些类似的东西
((x: Double) => let y=x+x in y*y)(3)

Scala 中有没有类似这种语法糖的东西?

最佳答案

确实有:它被称为“val”。 :-)

({ x: Double =>
val y = x + x
y * y
})(3)

大括号在这里当然是可选的,我只是在定义函数时更喜欢它们而不是括号(毕竟,这不是 Lisp)。 val关键字在当前词法范围内定义了一个新的绑定(bind)。与 Lisp 和 ML 等语言不同,Scala 不强制本地人定义自己的范围。

实际上, var也适用于任何范围,但使用它被认为是不好的风格。

关于scala - Scala 中是否有用于在匿名函数中绑定(bind)值的语法糖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/298167/

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