Skip to content

Commit

Permalink
Merge pull request #2 from MussieTeka/Create-decoder
Browse files Browse the repository at this point in the history
Create a morese code decoder
  • Loading branch information
emhamza committed Jun 15, 2023
2 parents 00f481b + 87b19db commit 9116d11
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions morse_decoder.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
MORSE_CODE_DICT = {
'.-' => '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'
}.freeze

def decode_char(morse_char)
MORSE_CODE_DICT[morse_char.upcase]
end

puts decode_char('.--')

def decode_word(morse_word)
morse_chars = morse_word.split
morse_chars.map { |char| decode_char(char) }.join
end

puts decode_char('A')

def decode_message(morse_message)
morse_words = morse_message.split
morse_words.map { |word| decode_word(word) }.join
end

morse_message = '.- -... --- -..- ..-. ..- .-.. .-.. --- ..-. .-. ..- -... .. . ...'
decoded_message = decode_message(morse_message)
puts decoded_message

0 comments on commit 9116d11

Please sign in to comment.