如何将多个参数保存到Map?

pri*_*sia 1 scala list map immutability

我正在使用命令行中的参数,这是以数组的形式,我想将其转换为Map.

因此,例如当我运行我的代码时,scala abc.scala A 10 B 20 C 30我希望有一个Map(A->10, B->20, C->30).此外,我只能使用val,所以我不能重新分配它,因为它是不可变的.我使用以下代码失败:

val names = args.filter(x => for(i <- 0 to args.length-1) i%2==0)
val numbers = args.partition(args(i) => i%2==1)
names.zip(numbers).toMap
Run Code Online (Sandbox Code Playgroud)

Fai*_*aiz 7

你想要grouped:

args.grouped(2).map { case Array(n,v) => (n,v) }.toMap
Run Code Online (Sandbox Code Playgroud)