gpt4 book ai didi

scala - Scala 中可以实现方法参数转发吗?

转载 作者:行者123 更新时间:2023-12-01 16:56:00 25 4
gpt4 key购买 nike

是否可以编写类似的内容:

def foo(x: Int, y: Double)

def bar(x: Int, y: Double) = foo(_)

我不想重复自己的话:

def foo(x: Int, y: Double)

def bar(x: Int, y: Double) = foo(x, y)

那么在两个参数列表的类型和大小相同且不应该重新定位参数的情况下,是否可以实现参数转发之类的功能呢?

最佳答案

是的,如果函数 bar 除了完全转发到 foo 之外没有执行任何操作,您可以执行以下操作:

def foo(x : Int, y : Double) { println("X: " x + " y: " + y) }
def bar = foo _

bar(1,3.0)
//prints out "X: 1 y: 3.0"

在本例中,下划线表示您想要返回函数 foo 本身,而不是调用它并返回 reuslt。这意味着当调用 bar 时,它只会返回函数 foo,然后使用您提供的参数调用该函数。

关于scala - Scala 中可以实现方法参数转发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230831/

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