scala - 对无限参数应用函数

标签 scala functional-programming

我想用这种语法写一个可以获取无限参数的函数

myfunc arg1 arg2 arg3 .... 我尝试了一些使用 curring 但没有任何帮助 我试图使它递归,但随后 scala 编译器说: “scala 递归方法需要结果类型” 递归:

def func(x:Int) = {
  doSomething(x); myVal:Int=>func(myVal)
}

感谢帮助

最佳答案

简单:

scala> class FRP1 { def apply(args: Int*) = args.mkString("{", ", ", "}") }
defined class FRP1

scala> val frp11 = new FRP1
frp11: FRP1 = FRP1@147611bd

scala> frp11(1)
res0: String = {1}

scala> frp11(1, 2)
res1: String = {1, 2}

scala> frp11(1, 2, 3)
res2: String = {1, 2, 3}

关于scala - 对无限参数应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686606/

相关文章:

scala - 函数式 Scala 的重构/布局

python - 使用 numpy 数组作为 lambda 参数?

scala - 在测试 Akka actor 时,如何验证发送给自己的消息是否已送达?

scala - 如何解决 "Error:scalac: bad symbolic reference to scala.ScalaObject encountered in class file ' package.class'”?

java - Java 8 中 Optional 类型的有效使用

function - F#:像函数一样应用值

c++ - C/C++脚本优化

scala - sleep 的 Actor ?

scala - 还有什么是Scala惯用: trait TraitA extends TraitB or trait TraitA { self: TraitB => }

scala - 将CompletableFuture(Java 8)转换为Future(Scala)