var morseText = ".... . -.-- - .... . .-. ."
На английском языке sh это «привет, привет»
var morseCodeArray: [String] = []
Это массив, в котором будут храниться отдельные буквы кода Морзе.
var currMorse: String = ""
currMorse используется для отслеживания текущей буквы Морзе.
for char in morseText {
if char != " " {
currMorse.append(char)
} else {
switch currMorse {
case "":
currMorse += " "
case " ":
morseCodeArray.append(" ")
currMorse = ""
default:
morseCodeArray.append(currMorse)
currMorse = ""
}
}
}
morseCodeArray.append(currMorse)
Не могли бы вы объяснить, что именно происходит в операторе switch ?
Я знаю, что Apple хочет, чтобы операторы switch были исчерпывающими, и, следовательно, у нас есть три case здесь.
Я не понимаю цель случая №1, т.е. case "":
Зачем нам нужен этот параметр null / nil? И даже если мы это сделаем, зачем нам тогда это делать -> currMorse + = ""
Мой мозг новичка в программировании думает, что нам нужен только случай №2, т.е. случай "":
Потому что все остальные параметры char (например, точки, тире в morseText) будут охвачены оператором if