如何在Scala中将列表作为参数传递给对象

如何在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

我已经创建了一个对象,它以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){
            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)