2015-09-03 2 views
3

В моем основном методе scala я использую import org.apache.commons.cli.{BasicParser, Options} для анализа аргументов командной строки. Один из аргументов - разделенная запятой строка, в которой перечислены методы, которые я хочу запустить.Создать список из командной строки args в Scala

У меня есть карта, которая отображает строку на методы, например.

val methods = Map("first" -> first, "second" -> second, "third" -> third) 

Теперь из моей командной строки arg, я хочу создать список методов, которые я хочу запустить. то есть, если я дам АРГ "first,second", список должен содержать List(first,second) но если я дам АРГ "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) 
+0

Но это создает список строк (что делает сам split). Я хочу список методов, где методы получены из карты . – navinpai

+0

@navinpai Обновление примечания к вопросу и дополнение к ответу на методы получения. – elm