Class: Hiragana
- Inherits:
-
Object
- Object
- Hiragana
- Defined in:
- lib/learn-japanese/data/hiragana.rb
Overview
Silabario japonés
Class Method Summary collapse
- .all ⇒ Object
- .group1 ⇒ Object
- .group2 ⇒ Object
- .group3 ⇒ Object
- .group4 ⇒ Object
- .group5 ⇒ Object
- .group6 ⇒ Object
- .groups(levels) ⇒ Object
- .hiraganas_to_sound(hiraganas_input) ⇒ Object
- .show_help(level = 1) ⇒ Object
- .sounds_to_hiragana(sounds) ⇒ Object
Class Method Details
.all ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'lib/learn-japanese/data/hiragana.rb', line 61 def self.all output = self.group1 output.merge!(self.group2) output.merge!(self.group3) output.merge!(self.group4) output.merge!(self.group5) output.merge!(self.group6) output end |
.group1 ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/learn-japanese/data/hiragana.rb', line 7 def self.group1 { a: "\u{3042}", i: "\u{3044}", u: "\u{3046}", e: "\u{3048}", o: "\u{304A}" } end |
.group2 ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/learn-japanese/data/hiragana.rb', line 16 def self.group2 { ka: "\u{304B}", ki: "\u{304D}", ku: "\u{304F}", ke: "\u{3051}", ko: "\u{3053}" } end |
.group3 ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/learn-japanese/data/hiragana.rb', line 25 def self.group3 { sa: "\u{3055}", shi: "\u{3057}", su: "\u{3059}", se: "\u{305B}", so: "\u{305D}" } end |
.group4 ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/learn-japanese/data/hiragana.rb', line 34 def self.group4 { ta: "\u{305F}", chi: "\u{3061}", tsu: "\u{3064}", # つ te: "\u{3066}", to: "\u{3068}" } end |
.group5 ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/learn-japanese/data/hiragana.rb', line 43 def self.group5 { na: "\u{306A}", ni: "\u{306B}", nu: "\u{306C}", ne: "\u{306D}", no: "\u{306E}" } end |
.group6 ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'lib/learn-japanese/data/hiragana.rb', line 52 def self.group6 { ha: "\u{306F}", hi: "\u{3072}", hu: "\u{3075}", he: "\u{3078}", ho: "\u{307B}" } end |
.groups(levels) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/learn-japanese/data/hiragana.rb', line 71 def self.groups(levels) return self.all if levels == :all hiragana = {} hiragana.merge! Hiragana.group1 if levels.include? 1 hiragana.merge! Hiragana.group2 if levels.include? 2 hiragana.merge! Hiragana.group3 if levels.include? 3 hiragana.merge! Hiragana.group4 if levels.include? 4 hiragana.merge! Hiragana.group4 if levels.include? 5 hiragana.merge! Hiragana.group4 if levels.include? 6 hiragana end |
.hiraganas_to_sound(hiraganas_input) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/learn-japanese/data/hiragana.rb', line 89 def self.hiraganas_to_sound(hiraganas_input) all_hiraganas = Hiragana.all sounds_array = hiraganas_input.map do |hiragana_input| sound = '*' all_hiraganas.each_pair do |key, value| sound = key if value == hiragana_input end sound end sounds_array.join('') end |
.show_help(level = 1) ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/learn-japanese/data/hiragana.rb', line 103 def self.show_help(level=1) Debug.puts_line puts "Hiragana help\n".upcase.cyan Debug.puts_group Hiragana.group1 Debug.puts_group Hiragana.group2 if level > 1 Debug.puts_group Hiragana.group3 if level > 2 Debug.puts_group Hiragana.group4 if level > 3 Debug.puts_group Hiragana.group5 if level > 4 Debug.puts_group Hiragana.group6 if level > 5 Debug.puts_group Hiragana.group7 if level > 6 end |
.sounds_to_hiragana(sounds) ⇒ Object
83 84 85 86 87 |
# File 'lib/learn-japanese/data/hiragana.rb', line 83 def self.sounds_to_hiragana(sounds) hiraganas = Hiragana.all hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' } hiragana = hiragana_array.join('') end |