Я пытаюсь решить проблему с кодом Морзе, идея в том, чтобы:
- Получить :
morse_text = '.... ..|--. ..- -.-- ...'
- Возврат :
'HI GUYS'
- Но я получаю
'HIGUYS'
, где труба должна быть преобразована в пробел между двумя словами. Пока я получил:
def decode(morse_text)
# TODO: Decode the morse text
morse_text = morse_text.tr("|", " ")
array = morse_text.split(" ").map { |word| encode_word.invert[word].upcase }
array.join
end
def encode_word
morse_code = {
"a" => ".-",
"b" => "-...",
"c" => "-.-.",
"d" => "-..",
"e" => ".",
"f" => "..-.",
"g" => "--.",
"h" => "....",
"i" => "..",
"j" => ".---",
"k" => "-.-",
"l" => ".-..",
"m" => "--",
"n" => "-.",
"o" => "---",
"p" => ".--.",
"q" => "--.-",
"r" => ".-.",
"s" => "...",
"t" => "-",
"u" => "..-",
"v" => "...-",
"w" => ".--",
"x" => "-..-",
"y" => "-.--",
"z" => "--..",
" " => "|"
}
end
Я изо всех сил пытаюсь превратить трубу в пустое пространство, чтобы я мог получить желаемый результат.