如何在scala中实现变长参数函数
how to implement variable length argument function in scala
我必须将 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")
如何使用变长参数的函数来实现?
提前致谢。
您可以使用以下语法:
def f(args: String*) = {
args.map{s =>
//todo: process single item
s
}
}
我必须将 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")
如何使用变长参数的函数来实现?
提前致谢。
您可以使用以下语法:
def f(args: String*) = {
args.map{s =>
//todo: process single item
s
}
}