コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

エレガントになりたいからRubyの勉強をはじめました

Rubyをやりましょうよ

Progateというサイトを利用してRubyの勉強をしました。
なぜRubyかというとエレガントな言語だからです(?)。
f:id:andron:20161023123135p:plain

こちらより利用できます
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

最初の方だけしかやってませんが、これで勉強すると英単語クイズみたいなのつくれるっぽいですよ。とりあえず下のやつみたいなの作ってみました。

早速試してみる

学んだことを活かして早速改変クイズゲームを作ります。

f:id:andron:20161023124002p:plain
こんなのできました。

words = { "koala" => "コアラ", "dingo" => "ディンゴ", "kangaroo" => "カンガルー", "wombat" => "ウォンバット", "platypus" => "カモノハシ" }

loop_count = 0
correct_count = 0
puts "英単語クイズ開始!終了っぽいコマンド(quit)の入力で終了します。"

# メインクイズ処理
words.each do |key,value|
  puts "#{loop_count+1}"
  puts "#{value}に対応する英単語を入力してください。"

  $answer = gets.chomp

  if $answer == "quit"
  	puts "クイズを終了します"
    break
  elsif $answer == key
    puts "正解です。"
    correct_count += 1
  else
    puts "不正解です。"
  end
  loop_count += 1
end

def percentage(a, b)
  if b == 0
    return 0
  end
  a * 100 / b
end

# リザルト処理
if $answer != "quit"
  puts "あなたの正解率は#{percentage(correct_count, loop_count)}パーセントです"
end

answerをグローバル変数として処理するのよろしくないだろうなと思いつつも、改変を加えたりなどした。改悪っぽいけどやりたい処理にもってこれたので良しとした。やっぱり特定コマンドを入力したら普段と違った反応を示すみたいなことを仕込めるようにしたいよね。