Итак, у меня есть массив строк в Scala, который называется произношение Array, например:
["EH1","N", "D", "P", "ER0", "EH1", "N", "TH", "AH0", "S", "IY2", "Z"]
, и я хочу написать оператор if else, который читает массив в обратном порядке, и как только он находит строкус числом в нем, он либо удаляет все строки после, либо помещает все ранее в отдельный массив.
, поэтому для приведенного выше примера id нужно, чтобы он остановился на «IY2», затем либо создайте новый массивс помощью только ["IY2", "Z"] или удалите каждую строку после и оставьте исходный массив с, как я уже сказал, ["IY2", "Z"].Само число не является целым числом между прочим, его частью строки, и числа находятся в диапазоне 0-2.
Я пробовал цикл в обратном порядке с if else, который ищет числа 0, 1,2, но возвращает каждую строку с номером, поэтому возвращает [IY2, AH0, EH1, ER0, EH1], но не останавливается, как только находит первую строку с номером.И я не уверен, как поместить все перед этой строкой в новый массив, если я даже нашел способ остановить его.
for (sounds <- pronunciationArray.reverse) {
val number0 = sounds.contains("0")
if (number0 == true) {
println(sounds)
} else if (number0 == true){
println(sounds)
} else if (number1 == true){
println(sounds)
} else {
-1
}
}
Я хочу, чтобы он возвращал только ["IY2", "Z"] но вернул [IY2, AH0, EH1, ER0, EH1]