gpt4 book ai didi

scala - 按名称重复的参数

转载 作者:行者123 更新时间:2023-12-04 03:17:33 24 4
gpt4 key购买 nike

如何在Scala中传递按名称重复的参数?

以下代码无法正常工作:

scala> def foo(s: (=> String)*) = {
<console>:1: error: no by-name parameter type allowed here
def foo(s: (=> String)*) = {
^

还有其他方法可以将可变数量的by name参数传递给方法吗?

最佳答案

这不是很漂亮,但是它允许您传递byname参数varargs样式

def printAndReturn(s: String) = {
println(s)
s
}

def foo(s: (Unit => String)*) {
println("\nIn foo")
s foreach {_()} // Or whatever you want ...
}

foo()

foo((Unit) => printAndReturn("f1"),
(Unit) => printAndReturn("f2"))

这产生

在foo中

在foo中
11
f2

关于scala - 按名称重复的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707186/

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