1月23日の業務報告

こんばんは、B3の鈴木です。
天気予報だと雪が降るらしいですね。
雪が降ると道が滑って危ないからやめてほしいんですが…
今日は質問がたくさん来たので「続きを読む」から質問と回答をご覧ください。


=========================
Q1 タイトルをキーに、というのはどうすればいいのか
A1 ハッシュのキーのことをタイトルというものだと勘違いしていて、キーを「key」としていました。教科書を見てもらってハッシュの使い方を確認しました。
Q2 レポート問題で、ハッシュをソートしろというのは昇順と降順どちらなのか
A2 基本的に昇順でやるものだと思われるので、昇順でいいと回答しました。
英語圏やフランス語圏などと正規表現で場合分けした後に、それぞれ英語圏などと表示する方法がわからない
Q3 $(後方参照)を使ってみたがよくわからない
A3 後方参照について解説した後にそれをここで使う必要はないと回答しました。
Q4 ソートの方法をウェブで探したけどよくわからない
A4 見ていたサイトがperlでのソート方法だったので、検索するときにrubyをキーワードに入れるとよいと回答しました。
Q5 ハッシュの中身を表示しようとすると最後に入力した物しか表示されない
A5 一行読み込んでハッシュに格納するループの中でハッシュを初期化していたのが原因でした。プログラムの流れを一緒に確認したところ気づいてくれました。
Q6 一行をタイトルと価格とisbnに分割する方法がわからない
A6 教科書に、指定した記号で文字列を分割して配列に格納するメソッドがのっているので探してもらいました。
Q7 旧isbnの先頭に新isbnにするための数字を追加したいが、どうすればいいかわからない
A7 文字列は違う文字列同士で足すことができることを思い出してもらい、それを使えばいいと回答しました。
Q8 (Q4の続き)ソートの方法を調べたがわかりやすい方法がのっていない
A8 教科書にもソートを使った例がのっているので、そちらのほうがわかりやすいと思い、そちらを見てもらいました。
Q9 チェックディジットを求める式の中のmod10の意味がわからない
A9 一緒にウェブでチェックディジットの求め方を探して、載っていた数式から自分で意味を理解できたようです。
Q10 価格の部分にUSDなどの記号が書かれているが、どう計算すればいいかわからない
A10 テキストにUSDなどの記号については解説があるのでそれを見てもらいました。計算については場合分けすればいいことはわかったようなので、それは正規表現を用いてうまくマッチさせればいいと回答しました。
Q11 (レポートに関して)、ハッシュをアルファベット順に並べかえたいが上手くいかない
A11 繰り返し文の中で、ハッシュの新規作成と並べ替えをするプログラムを行っていることが原因だということを説明しました。
Q12 (レポートに関して)、プログラムが合っているか確かめてほしい。
A12 ハッシュのキーが読み込んだ1行になっていたので、適切なものに変える必要があることを指摘しました。
Q13 (レポートに関して)、新ISBN規格のチェックデジットの計算をしたいが、実行するとエラーになる
A13 計算した値を代入する変数名が「N」になっていました。この変数名を変更する必要があると説明しました。
Q14 (レポートに関して)、新ISBN規格のチェックデジットの計算が正しいか確かめたい。
A14 プログラムの適切な部分にpメソッドやprintメソッドを用いて、本のタイトルを表示するようにすれば確かめやすいとアドバイスしました。
Q15 (レポートに関して)、ハッシュをソートしたいがエラーが出る
A15 .sortメソッドを用いるときの変数の指定が間違っていました。何を並べかえたいのか尋ねたところ、質問者がタイトルを代入した変数を指定していることが原因だと気付きました。
Q16 (レポートに関して)、新ISBN規格のコードを生成したいが、エラーが出る
A16 生成するときに、文字列と数字が混じった状態で+演算子を使っていることが原因だと説明しました。
Q17 (レポートに関して)、新ISBN規格のコードを生成したいが、エラーが出てしまう。原因が分からない。
A17 生成するときに、文字列と数字が混じった状態で+演算子を使っていることが原因だと説明しました。
Q18 (レポートに関して)、グループ記号が0と1の場合の条件式を作りたい。論理演算子は&&を用いればよいか。
A18 &&という論理演算子は「且つ」という意味だということを説明しました。他に論理演算子はないか問われたので、教科書を参照しながら今回の場合に適切な演算子を探してもらいました。
Q19 (レポートに関して)、出力フォーマットに従って表示したいが上手くいかない
A19 繰り返し文の外で出力フォーマットに従いprintメソッドで表示しようとしていました。この場合、最後に読み込んだ1行にしか対応できなくなるので、プログラムの記述位置を変える必要があると指摘しました。
Q20 (レポートに関して)、レポート課題の出力フォーマットに書いてある「CSV形式」が分からない
A20 拡張子の一つだということを説明しました。CSV形式で出力したファイルをエクセルで表示させ、その画面を実行結果として提示する要件などがあるので、レポートの要件を確認するように言いました。
Q21 (レポートに関して)、単語の先頭を大文字、それ以外を小文字にするプログラムが上手くいかない。
A21 単語の先頭をマッチングさせ、capitalizeメソッドで置換を行おうとしていた。capitalizeメソッドの使い方が間違っていたので、教科書を参照してもらいました。また、正規表現「/\w/」では全ての英数字1つ1つにマッチしてしまうことを指摘しました。
回答者 Q1~10:北原、 Q11~21:栗山
=========================
(文責:鈴木)