プログラミングを学習し始めて数日の超初心者が、遊びでつくったものを投稿してみたいと思います。
どなたかの役に立つかどうかは、謎ですが、とりあえず書いてみます。
#学んだこと
####条件分岐
if文を使います。クイズに正解の(条件式を満たす)場合、不正解の場合と分けて別の内容を出力させられます。
####ループ
while文を使います。不正解だと、延々と回答させられ続ける事ができます。
#クイズつくってみた
以上のことを勉強しましたので、クイズをつくってみました。
while true do
puts "The second Rome?"
input = gets.chomp
answer = "Constantinople"
if input == answer then
puts "正解です。"
exit
else
puts "ばーか"
end
end
問題文「The second Rome?」がまず出力され(putsメソッド)、次の行のgetsメソッドは実行時に入力する内容を文字列として返すので、
- ここで正解を入力すると「正解です」
- それ以外だと「ばーか」
と返されます。ここでgetsメソッドは、入力した内容の最後に改行を入れてたものを返り値とするので、改行を外すためgets.chompとします。chompメソッドがないと、何をしても「ばーか」と言われます。
###数値が答えになる問題
上は文字列(Constantinople)が等しいかどうかを比較していたわけですが、数値を回答するクイズもやってみました。
while true do
puts "Fall-of-Constantinople year?"
input = gets.to_i
answer = 1453
if input == answer then
puts "正解です。"
exit
else
puts "ばーかばーか"
end
end
getsメソッドは文字列を返すので、to_iメソッドで数値に直します。これがないと、やはり、自分で書いたプログラムに、何を入力しても罵倒されることになります。
#わかったこと
プログラムに罵倒されると楽しい