[英]How to pass List as argument to object in Scala
I have created object which takes list as argument but when I passed list to execute object,I get error.Please guide,code is as follows我创建了以列表为参数的对象,但是当我通过列表执行对象时,出现错误。请指导,代码如下
object myobj {
private var dateList = List[String]()
private val NPARAMS = 1
private def parseArgs(args:Array[String]):Unit ={
if(args.length < NPARAMS){
println("Insufficient No of Parameters")
System.exit(1)
}
var i = 0
dateList = List(args(i))
}
// Some code...
}
Now executing object现在执行对象
val dateList = ("2019-01-01","2019-01-02")
myobj.main(Array(dateList))
Error错误
dateList: (String, String) = (2019-01-01,2019-01-02)
<console>:37: error: type mismatch;
found : (String, String)
required: String
myobj.main(Array(dateList))
^
Your variable dateList
is a tuple.您的变量
dateList
是一个元组。 In scala the notation (TypeA, TypeB) as in your error message is a shorthand for scala.Tuple2[TypeA, TypeB].在 scala 中,错误消息中的符号 (TypeA, TypeB) 是 scala.Tuple2[TypeA, TypeB] 的简写。
What you want is an Array Array("arg1", "arg2")
.你想要的是一个 Array
Array("arg1", "arg2")
。
Did you mean你的意思是
val dateList = Array("2019-01-01","2019-01-02")
myobj.main(dateList)
? ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.