class Katakana
Public Class Methods
new()
click to toggle source
# File lib/katakana.rb, line 6 def initialize @alphabet = {'a'=>'ア', 'i'=>'イ', 'u'=>'ウ', 'e'=>'エ', 'o'=>'オ', 'ka'=>'カ', 'ki'=>'キ', 'ku'=>'ク', 'ke'=>'ケ', 'ko'=>'コ', 'sa'=>'サ', 'shi'=>'シ', 'su'=>'ス', 'se'=>'セ', 'so'=>'ソ', 'ta'=>'タ', 'chi'=>'チ', 'tsu'=>'ツ','te'=>'テ', 'to'=>'ト', 'na'=>'ナ', 'ni'=>'ニ', 'nu'=>'ヌ', 'ne'=>'ネ', 'no'=>'ノ', 'ha'=>'ハ', 'hi'=>'ヒ', 'fu'=>'フ', 'he'=>'ヘ', 'ho'=>'ホ', 'ma'=>'マ', 'mi'=>'ミ', 'mu'=>'ム', 'me'=>'メ', 'mo'=>'モ', 'ya'=>'ヤ', 'yu'=>'ユ', 'yo'=>'ヨ', 'ra'=>'ラ', 'ri'=>'リ', 'ru'=>'ル', 're'=>'レ', 'ro'=>'ロ', 'wa'=>'ワ', 'wo'=>'ヲ', 'n'=>"ン", 'ga'=>'ガ', 'gi'=>'ギ', 'gu'=>'グ', 'ge'=>'ゲ', 'go'=>'ゴ', 'za'=>'ザ', 'ji'=>'ジ', 'zu'=>'ズ', 'ze'=>'ゼ', 'zo'=>'ゾ', 'da'=>'ダ', 'dji'=>'ヂ', 'dzu'=>'ヅ', 'de'=>'デ', 'do'=>'ド', 'ba'=>'バ', 'bi'=>'ビ', 'bu'=>'ブ', 'be'=>'ベ', 'bo'=>'ボ', 'pa'=>'パ', 'pi'=>'ピ', 'pu'=>'プ', 'pe'=>'ペ', 'po'=>'ポ', 'kya'=>'キャ', 'kyu'=>'キュ', 'kyo'=>'キョ', 'gya'=>'ギャ', 'gyu'=>'ギュ', 'gyo'=>'ギョ', 'sha'=>'シャ', 'shu'=>'シュ', 'sho'=>'ショ', 'ja'=>'ジャ', 'ju'=>'ジュ', 'jo'=>'ジョ', 'cha'=>'チャ', 'chu'=>'チュ', 'cho'=>'チョ', 'nya'=>'ニャ', 'nyu'=>'ニュ', 'nyo'=>'ニョ', 'hya'=>'ヒャ', 'hyu'=>'ヒュ', 'hyo'=>'ヒョ', 'bya'=>'ビャ', 'byu'=>'ビュ', 'byo'=>'ビョ', 'pya'=>'ピャ', 'pyu'=>'ピュ', 'pyo'=>'ピョ', 'mya'=>'ミャ', 'myu'=>'ミャ', 'myo'=>'ミョ', 'rya'=>'リャ', 'ryu'=>'リュ', 'ryo'=>'リョ'} puts 'Romaji to Katakana' puts '(clear) Clear (save) Save (quit) Main menu (alphabet) katakana alphabet' puts '(Type one letter by time ex: ru+ENTER, bi+ENTER => ルビ)' word = [] # array to store the letters typed letter=ask() while letter != 'quit' do word << @alphabet[letter] # appendind letters into the word array if letter == 'c' or letter == 'clear' then word.clear() puts 'Your word is empty!' elsif letter == ' ' then puts 'Space inserted. Start a new word!' word << letter word.each do |w| print "#{w}" end # iterating values elsif letter == 'save' print 'Enter the file name: ' filename = gets.chomp.downcase s = Save.new(filename, word.join) # join method put all the letters together into a single string puts 'Word saved!' word.clear() elsif letter == 'alphabet' then help(@alphabet) elsif !@alphabet.has_key?(letter) then puts "This letter is not part of the Hiragana Alphabet!" else word.each do |w| print "#{w}" end # iterating values end letter = ask() end puts "Choose an alphabet to start typing:" puts "(h) Hiragana (k) Katakana\n\n" end
Public Instance Methods
ask()
click to toggle source
# File lib/katakana.rb, line 74 def ask() print("\n>"); gets.chomp.downcase end
help(alphabet)
click to toggle source
# File lib/katakana.rb, line 76 def help(alphabet) puts "Hiragana Alphabet:" alphabet.each do |k, v| puts "#{k}: #{v} " end end