12月8日の業務報告

本日の質問と回答です。
=======================
<プログラミング演習>
Q1. 課題プログラムを作っているがエラーが出る。
A1. ハッシュの定義のところでキー値のペアとペアの間のコンマが無く、またクオーテーションの書き忘れがいくつかあったので修正しました。
その後、一度にプログラムを最後まで書いたのでエラーの原因がわからないとのことだったので、ファイル読み込むところから少しずつ実行確認をしてエラーの原因を探すよう伝えました。

Q2. 配列に単語とコンマピリオドなどの記号を要素として格納し、順番に表示して最終的に英文を表示したいのだが、コンマやピリオドなどの前にも空白が表示されてしまう。コンマやピリオドの前には空白を入れたくない。
A2. 繰り返し文を使って配列の要素を1つずつ表示しているので、そこでifなどを使ってコンマやピリオドのときだけ表示するものを変えてみてはとアドバイスしました。

Q3. 正規表現でマッチした部分の表示はできたが回数を数えるなど後で作業ができない。
A3. マッチした部分を表示するときに使っている変数はマッチするごとに更新されてしまうので、マッチするごとに配列かハッシュに保存するなどして後で使えるようにする必要があると伝えました。

Q4. 単語の品詞を表すタグを日本語訳して表示するためにハッシュをつくりたいが、品詞を表すタグをキーにして値を出現回数にしたハッシュをもう作っている。どうすればよいか。
A4. 同じキーで違う値の入ったハッシュを二つ作ることもできると答えました。その場合は別の値を同じキーで持ってこられるので便利なこともあると伝えました。

Q5. ハッシュを利用してマッチした品詞をカウントしたいが、格納の仕方が分からない。また、ハッシュをソートするコードを動かしたが上手くいかない。
A5. ハッシュの使い方に関するページを参照してハッシュに関するメソッドを確認しました。ハッシュのソートに関しては、参考書にあるコードをそのまま利用していたため、一行ずつ意味を考慮しながらコードを書く事を促しました。

Q6.正規表現でピリオドが含まれている場合の処理を行いたいが、上手く行かない。
A6.正規表現にはエスケープ処理をしなければならない記号が存在する事を伝え、正規表現でエスケープ処理が必要な記号は何かを調べてみるように促しました。

Q7.ハッシュに格納されたアルファベットの品詞名を他のハッシュにある日本語名に変換したいが、上手くできない。
Q7.英語の品詞名を一つずつ取り出す事には成功していたため、その値を日本語名が格納されているハッシュと比較すれば良いという事を伝えました。

回答: Q1-4:岩井 Q5-7:功刀
=======================

プログラミング演習の課題締切が迫ってきました。
正規表現のミスはプログラム上問題がなければエラーで止まってしまう事がないため、何が間違っているのかを発見するのが難しいです。また、記述の仕方によってコードの長さが変わってくるのでしっかりと慣れておくと良いと思います。
正規表現に慣れているとプログラミングだけでなく、テキストエディタの中で大量の文章からある部分を探す時などにも利用ができて便利です。
(文責:功刀)