1月20日の業務報告


こんばんは、M1の安永です。
本日の質問と回答です。
=====================================================================
【プログラム演習II】
Q1.(課題に関して)USドルを円に変換できない
A1.変換後の値を保存する先の変数名に「.(ピリオド)」を用いていたのがエラーの原因でした。
Q2.つくったプログラムが開けない
A2.実行する時に、ファイル名の前にrubyと記述するのを忘れていたのが原因ですと回答しました。
Q3.(課題に関して)sortメソッドはハッシュには使えないのでしょうか。うまくいきません。
A3.昨日と同様に回答しました。(昨日の回答:教科書263ページにハッシュの値でソートする方法が載っていたので、その方法を解説し、キーに応用できないか考えてもらいました。)
Q4.(課題に関して) 繰り返し入力するためのwhileの外で,ハッシュの値を表示しようとすると,1つしか要素が表示されません
A4.プログラムを上から順に追いかけて、while内でハッシュを初期化していることに気づいてもらいました。
Q5.(課題に関して)配列の要素をつなげて文字列にすることはできますか
A5.Webで調べて、joinというメソッドを見つけてもらいました。
Q6.(課題に関して)教科書の232ページを参考にして、文字列のインデックスを使い、文字列の1文字目を取り出したつもりが、期待と違う値になる。
A6.教科書に書いてあるように、ruby1.8ではインデックスで取り出せるのはバイトコード、ruby1.9ではインデックスで取り出せるのは文字、です。全学計算機のrubyのバージョンを調べるには、コマンドプロンプトで、「ruby -v」と打ちます。打つと、バージョンがruby1.8であることがわかります。よって、教科書231ページの方を参考にプログラムを書いてみてください。
Q7.(課題に関して)割り算の余りは自分で計算して変数に入れて・・・とやるのでしょうか
A7.余りを計算するための演算子があります。
Q8.(課題に関して)gsubメソッドを使うと、置換されたり、値がなくなったりする。
A8.str.gub!(条件) の値は、置換ができれば置換後の文字列、置換ができなければnilになるようです。よって、str1 = str.gsub!(条件) とすると、マッチせず置換できない場合は str1 の値は nil になってしまいます。
Q9.(課題に関して)本のタイトルの先頭を大文字にすることはできたが、単語の先頭を大文字にするにはどうしたらいいか。
A9.タイトルから単語を取り出して、単語ごとに先頭を大文字にする、とできそうです。単語を取り出すには、正規表現が使えると思います。
Q10.ハッシュのソートがうまくいかない
A10.ソート直後に使用しているeachの使い方に問題がありそうだったので、使い方を教科書で確認してもらいました。
回答者 1:澤木 2:西野 3-10:安永
=====================================================================
今朝はちょこっと雪が降りましたね!
みなさん体調を崩さないようにお気を付け下さい!
(文責:安永)