1294001544**[Ruby]Rubyで英単語覚えるスクリプト
Rubyで英語の単語を覚えるためのスクリプトを書きました。
同じフォルダにあるCSVファイルから単語を読み込んで、問題を出します。問題は日本語で表示され、答えを英語で入力します。
「exit」と入力するか、全ての単語に正解すると終了。
CSVファイルには、「英語,日本語」の順番で書きます。順番を逆にすれば、英語の和訳を答える問題になるかも。
元ネタはid:higeponさんの↓の記事です。
http://d.hatena.ne.jp/higepon/20100109/1263013721#tb
#! ruby -Ks require 'csv' # 単語クラス class Word def initialize( eng, jpn ) @eng = eng @jpn = jpn end def getEng return @eng end def getJpn return @jpn end end # csvから読んだ単語を格納 @a = Array.new() # csvから読み込み def readCSV CSV.open('file.csv', 'r') do |row| #row[0]がengで row[1]はjpn w = Word.new( row[0].to_s , row[1].to_s ) @a << w end end # 英語問題を出す def makeQuestionEng r = rand(@a.length) problemWord = @a.at(r) # 問題を出す puts problemWord.getJpn # 回答を入力 input = gets.chomp # 回答が正解かチェック if( input == problemWord.getEng ) puts "ok" @a.delete_at(r) else puts "no 正解は " + problemWord.getEng end # 終了マンドか? if( input == "exit" ) return 0 end # 全問終了か? if( @a.length == 0) puts "Congratulation!" return 0 end end # メインループ def main count = 0 readCSV puts "Language study script" while( makeQuestionEng != 0 || count >= 10 ) count +=1 end puts "see you..." end # 実行 main