gpt4 book ai didi

Scala:如何区分调用的函数和函数参数?

转载 作者:行者123 更新时间:2023-12-02 18:48:22 25 4
gpt4 key购买 nike

假设我在 Scala 中有以下代码示例:

def myfunc = {
println("hello")
10
}
val myParam = myfunc

当这段代码运行时,myfunc 被执行,这意味着控制台将打印“hello”,myfunc 将返回值 10。

假设我希望 myParam 保存函数 myfunc 而不调用它。我该怎么做?

最佳答案

Scala 区分方法和函数使用 def 定义方法,使用 val 定义函数。可以将函数分配给不带括号 myfunc 的变量,并使用括号 myfunc()

调用函数

有一个简短的转换语法可以将方法作为函数分配给变量

mymethod(_)//使用尽可能多的下划线作为参数。

但是它不适用于零参数。

对于零参数,唯一的选择是

def mymethod = {
println("hello")
10
}
val myfunc = () => mymethod

参见How to use functions as variables (values) in Scala (但请注意博客文章中提到的 m _ 语法 will be deprecated in the future )。

关于Scala:如何区分调用的函数和函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67123125/

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