11/21の業務報告

こんばんは、鈴木です。
筑波大は今週学期末テストです。でも仮に落としたら来年またとればいいじゃない!(4年生除く)
そうならないように勉強しっかりやりましょう!
では今日の質問と回答です。
******************************
【プログラミング演習1】
Q1. 課題の指示通りに表示ができない。
A1. メソッドに複数の値を指定すると、返り値が配列として返されることを理解してもらうためにpメソッドを使って返り値を確認してもらいました。
Q2. undefined method `[]’ for nil:NilClassの意味が分からない。
A2. 配列オブジェクトであると思い込んでいるものに、値が何も入っていないことを確認してもらうためにpメソッドを使って変数を表示して確認してもらいました。
Q3. 課題の指示である、キャラクター同士の対戦表示ができない
A3. eachメソッドによるブロック内でもifを使うことができるということを指摘しました。
Q4. エラーの原因が分からない
A4. 全角スペースが紛れていたので指摘しました。
Q5. 課題の対戦の数値比較ができない
A5. 1.whieによるループや、eachによるブロック構造の中で、それぞれどのような処理をしたいのかが質問者の中でハッキリしていませんでした。どのような処理をすべきなのかをひとつずつ説明してもらい、一つずつ順に処理を実装してもらいました。
2.Hashy#[]メソッドにおいては、キーである文字列を参照するものであればどんなものでもも引数とすることができるということを理解できていないようだったので、理解してもらいました。
(例)h = {“hoge” => “fuga”}; var = [[“hoge”]]; p h[var[0][0]] #=> “fuga”
Q6. 最大値が出ない
A6. 繰り返し回数を表す変数の値に1を足すタイミングが間違っていたために間違っていたのでそこを指摘しました。
Q7. 繰り返しが止まらない
A7. 繰り返しを制御するための変数に値を加える位置を間違っていたので、処理を追って正しい位置を確認しました。
Q8. 戦いが表示されない
A8. 作成したメソッドを呼び出していませんでした。
Q9. 計算したら小数点まで表示されてしまう
A9. 0.9を掛けていたため、小数点第1位まで表示されていました。質問者の方が別の方法を思いついて解決しました。
Q10. 表示させるメソッドと値を返すメソッドの違いがよくわからない
A10. 表示させるメソッドと値を返すメソッドの違いがよく分からなかったようなので、授業資料等で復習しました。
Q11. エラーの原因が分からない。
A11. エラーの意味を確認し、キャラ名を入力している部分やメソッドを定義している部分とその位置を見直してみるよう答えました。
(回答者:1~5:三津石、6:北原、7~10:鈴木、11:森川)
******************************
課題は余裕をもって取り組みましょう。
(文責:鈴木)