【问题标题】:how to implement variable length argument function in scala如何在scala中实现可变长度参数函数
【发布时间】:2021-10-21 04:34:41
【问题描述】:

我必须将k不同长度的字符串连接成一个字符串res,并将res字符串保存到ArrayBuffer[String]()
k 是可变的。
例如,

val result = new ArrayBuffer[String]()
result.+=("1\t" + A.toString() + "\t" + ls.pid + "\t" + ls.did + "\t" + ls.sid + "\t" + ls.request_time.substring(0,10))

result.+=("2\t" + B.toString() + "\t" + ls.pid + "\t" + ls.did + "\t" + ls.sid + "\t")

result.+=("2\t" + B.toString() + "\t" + ls.pid + "\t" + ls.did + "\t")

result.+=("2\t" + B.toString() + "\t")

如何使用带有可变长度参数的函数来实现它?

提前致谢。

【问题讨论】:

    标签: scala variadic-functions variable-length


    【解决方案1】:

    您可以使用以下语法:

    def f(args: String*) = {
        args.map{s =>
        //todo: process single item
        s
      }
    }
    

    【讨论】:

    • 我只想添加注释 String* 意味着只是方法体内的 Seq[Sring] ,因此 OP 可以在序列上执行您可以执行的任何操作,例如 mapfoldLefforeach
    猜你喜欢
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    相关资源
    最近更新 更多