Class: MorseCodec
- Inherits:
-
Object
- Object
- MorseCodec
- Defined in:
- lib/morse_codec.rb
Instance Method Summary collapse
- #decode_morse(morse_str = "") ⇒ Object
-
#initialize ⇒ MorseCodec
constructor
A new instance of MorseCodec.
- #to_morse(reg_str = "") ⇒ Object
Constructor Details
#initialize ⇒ MorseCodec
Returns a new instance of MorseCodec.
5 6 7 |
# File 'lib/morse_codec.rb', line 5 def initialize @morse_code = MorseCodec::MorseHelper.load_dictionary end |
Instance Method Details
#decode_morse(morse_str = "") ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/morse_codec.rb', line 25 def decode_morse(morse_str="") result_arr = [] morse_arr = morse_str.split(' ') morse_word = "" morse_arr.each do |this_word| splitted = this_word.to_s.split(' ') splitted.each do |this_letter| #p = @morse_code.select{|key, hash| hash == this_letter} || [["",""]] #morse_word << p.flatten[0] morse_word << @morse_code.invert[this_letter] || "" end result_arr << morse_word.to_s.capitalize << " " morse_word = "" end return result_arr.to_s.strip end |
#to_morse(reg_str = "") ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/morse_codec.rb', line 9 def to_morse(reg_str="") morse_result_arr = [] str_arr = reg_str.gsub(' ','%').split('%') morse_word = "" str_arr.each do |this_word| splitted = this_word.to_s.split('') splitted.each do |this_letter| morse_word << (@morse_code[this_letter.upcase].to_s || this_letter) << " " end morse_result_arr << morse_word << " " morse_word = "" end return morse_result_arr.to_s.strip end |