1月19日の業務報告

こんばんは,M1の安永です.
1月に入って,ついにこたつを出してしまいました.
本日の質問と回答です。
****************************
【プログラミング演習2】
Q1.(演習5-5に関して)エラーが出てしまうがどうしたらよいか。
A1.第5回テキストp.7の脚注を確認して,エラーの原因を理解してもらいました。それを基に、質問者の方と一緒にどうしたらよいか考えました。
Q2.(課題に関して)エラーが出てしまうが、その原因が分からない。また、ISBNにハイフンがあってもなくてもマッチングさせるにはどうしたらよいか。
A2.正規表現を用いてマッチングを行おうとしている部分に誤りがあることを指摘し、テキストで正しいやり方を確認しました。
Q3.(課題に関して)後方参照をしているが、変数に入っていないらしく、何も表示されない
A3.マッチさせたい文章に対して、正規表現が適切でなかったため、教科書を参照して正しい正規表現を一緒に考えました。英数字やスペースが入り交じった文にマッチさせる正規表現も教科書に掲載されていますので、確認してみましょう。
Q4.(3-9に関して)記号の前後にある1個以上の空白を削除したいが、前の空白しか削除されない
A4.「|」を使ってマッチするパターンを選択する方式をとっていたのですが、記号の前に空白がある場合と、記号の後に空白がある場合の選択になっていたので、記号の前に空白がある時点でそちらにマッチし、記号の後にある空白がマッチする対象となっていませんでした。その点を指摘し、繰り返しのメタ文字(*,+,?)を活用して条件を満たすことが出来ないか検討しました。
Q5.ハッシュのキーをソートする方法が分からない
A5.教科書263ページにハッシュの値でソートする方法が載っていたので、その方法を解説し、キーに応用できないか考えてもらいました。
Q6.ハッシュのキーだけを取り出したつもりが,キーと値の両方が取り出されている.
A6.eachメソッドを使ったハッシュのキーの取り出し方を教科書255ページで確認してもらいました.すると,eachメソッドで変数を1つだけ指定すると,各要素を配列として取り出すことになることが分かりました.
Q7.ハッシュの要素数は7つなのに,表示すると沢山表示されてしまう.
A7.while内でeachメソッドを使用して表示していたため,whileを繰り返すたびに表示されているのではないか,と指摘しました.
Q8.(演習4-2に関して)正規表現にマッチしたかどうかを出力していて,マッチしないはずのものを入力しても,マッチした,と出てしまう.
A8.正規表現のどの部分が間違っているのかを発見するために,現在書いている正規表現を,最初から少しずつ書いていき,その都度出力結果を確認してもらいました.すると,AM|PMを正規表現に書き足した時に,予想と違う動きをしたので,|の使い方を教科書279ページで確認してもらいました.
Q9.(課題に関して)新ISBNのチェックディジットを計算するために,ISBNの数字を1つずつ取り出したいが,どうすればいいか分からない.
A9.教科書231ページに文字列のインデックスの使い方が載っていたので,そちらを読んでもらいました.
回答者:1-2 森川, 3-5 鈴木,6-9 安永
****************************
今日のように寒い日には「カレー南ばんそば」がよく出ます.(バイト先の話)
(文責:安永)