マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
2010/11/06:
HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
「初めてのプログラミング」練習問題9.4の1問目を解いてみた
初めてのプログラミングの練習問題9.4の1問目を解いてみる。
p85に載っているものをちょっといじるくらいのもの。
askquestion0.rb では、def ask 内のwhile 部分の while の次の条件部分を書かなかった状態。
この状態で実行すると、文字列がずらっと表示されただけで、nil を返して終わってしまった。
どうやら、puts question 部分は実行されているものの、その後の reply = gets.chomp.downcase がスルーされてしまっている模様。なんでこういうことが起こったのかはまだよくわからない。要研究。
20080906追記:
この挙動の理由を考察した。
「初めてのプログラミング」練習問題9.4の1問目の失敗の考察
にてどうぞ。
追記終わり
そして、askquestion1.rb にて、while の条件を true にして実行。内部に return があるので、無限ループにはならず、無事動いた。
※追記部分のプログラム部分をpreタグで囲むことで、字下げが表示できるようになった。
初めてのプログラミング
posted with amazlet at 08.09.02
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均:
Rubyを使ってHello, Worldから丁寧な解説
Ruby
askquestion0.rb これはうまく動かない
def ask question
while
puts question
reply = gets.chomp.downcase
if reply == 'yes'
return true
elsif reply == 'no'
return false
else
puts '"yes"か"no"で答えてね'
end
end
end
puts 'こんにちは、私の実験のためにお時間をとっていただきありがとうございます'
puts 'この実験は、人々がメキシコ料理に対してどう感じているかに関するものです'
puts 'メキシコ料理について考えすべての質問に対して、yes か no かで正直に'
puts '答えてください。この実験はおねしょとは関係ありません'
ask "タコスは好きですか"
ask "ブリートは好きですか"
wets_bed = ask "ベットを濡らしますか"
ask "チミチャンガは好きですか"
puts 'あともう少し質問させてください'
ask "オルチャタを飲むのは好きですか"
ask "フラウタスは好きですか?"
puts
puts 'デフリーディング'
puts 'この実験へのご協力に感謝します。'
puts '実はこの実験はメキシコ料理とは何の関係もありません'
puts 'この実験は夜尿症に関する実験だったのです。'
puts 'メキシコ料理はより正直に答えられるよう'
puts 'あなたのガードを外すために聞いたにすぎません'
puts '本当にありがとうございました'
puts
puts wets_bed
askquestion1.rb これは動いた
def ask question
while true
puts question
reply = gets.chomp.downcase
if reply == 'yes'
return true
elsif reply == 'no'
return false
else
puts '"yes"か"no"で答えてね'
end
end
end
puts 'こんにちは、私の実験のためにお時間をとっていただきありがとうございます'
puts 'この実験は、人々がメキシコ料理に対してどう感じているかに関するものです'
puts 'メキシコ料理について考えすべての質問に対して、yes か no かで正直に'
puts '答えてください。この実験はおねしょとは関係ありません'
ask "タコスは好きですか"
ask "ブリートは好きですか"
wets_bed = ask "ベットを濡らしますか"
ask "チミチャンガは好きですか"
puts 'あともう少し質問させてください'
ask "オルチャタを飲むのは好きですか"
ask "フラウタスは好きですか?"
puts
puts 'デフリーディング'
puts 'この実験へのご協力に感謝します。'
puts '実はこの実験はメキシコ料理とは何の関係もありません'
puts 'この実験は夜尿症に関する実験だったのです。'
puts 'メキシコ料理はより正直に答えられるよう'
puts 'あなたのガードを外すために聞いたにすぎません'
puts '本当にありがとうございました'
puts
puts wets_bed
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人