如何在Scala中将列表作为参数传递给对象
我已经创建了一个对象,它以list作为参数,但当我将list传递给execute对象时,我得到了一个错误如何在Scala中将列表作为参数传递给对象,scala,Scala,我已经创建了一个对象,它以list作为参数,但当我将list传递给execute对象时,我得到了一个错误 object myobj { private var dateList = List[String]() private val NPARAMS = 1 private def parseArgs(args:Array[String]):Unit ={ if(args.length < NPARAMS){ printl
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...
}
错误
你是说
val dateList = Array("2019-01-01","2019-01-02")
myobj.main(dateList)
?变量日期列表是一个元组。在scala中,错误消息中的符号TypeA,TypeB是scala.Tuple2[TypeA,TypeB]的缩写
您需要的是数组Arrayarg1,arg2。您的问题非常不清楚。你们所说的如何将List作为参数传递给object是什么意思?我已经创建了一个将List作为参数的object?对象不能接受参数。只有方法可以。我的代码所做的是合并从2个参数生成的输出。当我将列表传递给方法时,它可以工作,但当我创建对象和传递列表时,我得到错误,因为主方法接受字符串数组,我也尝试了你的建议,但它只为1个参数提供输出。你能提供一个完整的最小示例吗。我无法理解你想要实现的目标。
dateList: (String, String) = (2019-01-01,2019-01-02)
<console>:37: error: type mismatch;
found : (String, String)
required: String
myobj.main(Array(dateList))
^
val dateList = Array("2019-01-01","2019-01-02")
myobj.main(dateList)