Как передать Scala List или Array внутрь, если условие? - PullRequest
0 голосов
/ 04 декабря 2018

Я поместил проверку внутри метода в scala, как этот.

def run(beamServices: BeamServices): Unit = {
   if ((beamServices.strategy.planSelectorForRemoval.equals("Check with list of strings")) && (!beamServices.modeChoiceClass.equals("ModeChoiceLCCM"))) {
       logger.error("Simulation breaks")            
   }
}

Вышеупомянутая проверка только для одного String, но я должен проверить с 10 Strings.Было бы очень утомительно и долго писать код, если бы я поставил здесь 10 проверок, как указано выше.Итак, я решил, что вместо того, чтобы писать 10 проверок по отдельности, позвольте мне создать список или Arrray строк, подобных этой.

val listOfString = Array{"String1","String2","String3"....."String10"}

, и попытался реализовать List в таком состоянии.

def run(beamServices: BeamServices): Unit = {
  if ((beamServices.strategy.planSelectorForRemoval.equals(listOfString.foreach(x => x))) && (!beamServices.modeChoiceClass.equals("ModeChoiceLCCM"))) {
     logger.error("Simulation breaks")            
   }
}

Я знаю, что приведенная выше реализация неверна.Я просто написал это, чтобы дать вам представление о том, что я хочу сказать.Пожалуйста, предложите мне несколько классических решений

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018
val listOfClasses = List("ClassA","ClassB","ClassC"....."ClassJ"}

def run(beamServices: BeamServices): Unit = {
   if ((beamServices.strategy.planSelectorForRemoval.equals("check with 10 classes")) && (!listOfCLasses.contains(beamServices.modeChoiceClass))) {
       logger.error("Simulation breaks")            
   }
}
0 голосов
/ 04 декабря 2018

Я предполагаю, что вы пытаетесь спросить, как проверить, соответствует ли данная строка одной из нескольких других строк.

В этом случае ответом будет использование Set:

val stringsToMatch = Set("Foo", "Bar", "Baz")
if (!stringsToMatch(beamServices.modelChoice)) { doStuff }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...