はじめに
初投稿です。Rubyを勉強し始めて3日目になります。
改めてメソッドの多さに驚いています。見よう見真似ですが、
単純すぎるプログラムを書きました。単純なプログラムと言ってもエラーが出たので
備忘録も兼ねて、紹介していきたいと思います。
どの人生を選んでも幸せになれない女のプログラム。
scene = 'life'
while true
case scene
if scene == 'life'
puts 'あなたはどの人生を生きたいですか'
sleep 1
puts '1 仕事に生きる'
puts '2 専業主婦になる'
puts '3 仕事も結婚も手に入れようとする'
x = gets.to_i
case x.to_i
if x.to_i == 1
scene = 'work'
elsif x.to_i == 2
scene = 'marry'
elsif x.to_i == 3
scene = 'get happy'
else '???'
end
when 'work'
puts '私は仕事に生きる。結婚は遅くてもいいや'
sleep 1
puts 'ー 気づけば周りは既婚者ばかり ー'
sleep 1
puts '孤独で寂しい…'
puts 'the end'
exit
end
when 'marry'
puts '早く結婚して、幸せな専業主婦になりたい'
sleep 2
puts '晴れて結婚したけど'
sleep 2
puts '専業主婦は…暇!'
sleep 1
puts 'the end'
exit
end
when 'get happy'
puts '幸せな結婚もしたいし、仕事も充実させたい'
sleep 1
puts '二兎を追う者は一兎をも得ず'
sleep 2
puts '仕事も恋愛も追い求めすぎて空回り…'
sleep 3
puts 'the end'
exit
end
end
内容はあまりにも批判を受けそうなので気にしないでほしいです。
Ruby入門書でif文をcase文に書き直すとシンプルになると学んだため、両方組み合わせて書いてみました。
しかし、このままではエラーがたくさん出ます。
間違いから学んだこと。
上のプログラムを実行すると、
unexpectedやexpectingなどのエラーが出てきました。
すぐさま意味を調べてみると、
unexpected → 予想外
expecting → 期待して
と、出てきました(英語力…)
unexpected keyword_whenやexpecting keyword_endは
whenは予想外だった…!や、endを期待しているよ。などと言っているのだな。。ふむ。。
とりあえず英語が出てきても焦らず調べるべきだなと感じました!
訂正後はこちら。
scene = 'life'
while true
case scene
when 'life'
puts 'あなたはどの人生を生きたいですか'
sleep 1
puts '1 仕事に生きる'
puts '2 専業主婦になる'
puts '3 仕事も結婚も手に入れようとする'
x = gets.to_i
case x.to_i
when 1
scene = 'work'
when 2
scene = 'marry'
when 3
scene = 'get happy'
else '???'
end
when 'work'
puts '私は仕事に生きる。結婚は遅くてもいいや'
sleep 1
puts 'ー 気づけば周りは既婚者ばかり ー'
sleep 1
puts '孤独で寂しい…'
puts 'the end'
exit
when 'marry'
puts '早く結婚して、幸せな専業主婦になりたい'
sleep 2
puts '晴れて結婚したけど'
sleep 2
puts '専業主婦は…暇!'
sleep 1
puts 'the end'
exit
when 'get happy'
puts '幸せな結婚もしたいし、仕事も充実させたい'
sleep 1
puts '二兎を追う者は一兎をも得ず'
sleep 2
puts '仕事も恋愛も追い求めすぎて空回り…'
sleep 3
puts 'the end'
exit
end
end
さいごに
このようにエラーから学び取れることはたくさんあるということに気づけました。もっと複雑なプログラムが書けるようにまだまだ勉強頑張りたいです。
プログラミングを学ぶに当たって、とにかくサンプルでもなんでも、書いて動かして見ることが大切だと感じます。
たくさん試すことで、新しいものやアイデアが生み出せるのではないかという信念を貫きたいです…!(プログラミングに関わらず…)