在我的scala main方法中,我使用import org.apache.commons.cli.{BasicParser, Options}
来解析命令行参数。其中一个参数是一个逗号分隔的字符串,它列出了我想要运行的方法。
我有一个将字符串映射到方法的地图,例如。
val methods = Map("first" -> first, "second" -> second, "third" -> third)
现在从我的命令行arg,我想创建一个我想要运行的方法列表。即如果我将arg作为"first,second"
,则列表应包含List(first,second)
,但如果我将arg作为"first,third"
,则列表应包含List(first,third)
我知道列表是不可变的,所以我不能迭代并添加。
这样做的scala方式是什么?
答案 0 :(得分:0)
假设CLI提供带逗号分隔词的字符串,请考虑将感兴趣的子串分开,如下所示
val methodNames = "first,second".split(",").toList
或将这些词分开,
val methodNames = "first,second".split("\\W+").toList
因此,要从列表中获取方法,请考虑
methodsNames.map(methods)