火曜と木曜に1コマずつ,担当している情報処理科目について,出席と答案の集計処理をするRubyスクリプトを,手直ししました.
出席と答案は,授業中,それぞれ別のところから生成されるCSVファイルとZIPファイルに収められています.ファイル名を入力に与えてスクリプトファイルを実行すると,その中身を見て,学生番号・氏名と出席あるいは提出の状況を獲得し,RubyのHashインスタンスをつくり,PStoreで保存します.そのPStoreファイルを開けば,学生番号ごとに,いつ出席/欠席して答案を提出した/しなかったかを,知ることもできますが,見やすいとは言いがたいので,別に引数を与えて実行すれば,CSVファイルに保存する機能も設けていました.
手直しにあたりもっとも時間を要したのは,Excelファイルの読み出しでした.上記のほかに,履修者名簿のExcelファイルを開き,学生番号と氏名を取得し,PStoreの「初期データ」として保存していたのですが,ワークシート全体の読み出しが,うまくいっていませんでした.
そこではextract_dataというメソッドを使用していました.rubyXLにアクセスして,この語を検索したところ,"methods extract_data and get_table are being deprecated"とあるのを知りました."deprecated"は直訳すると「廃止予定の」ですが,予定どころか使い物にならなくなっていたのです.
直後のサンプルコードをもとに,泥臭く書き換えました.値を獲得するのに「.value」が必要と気づくのにも,少し時間を要しました.
昨年度は前期後期とも,答案を回収してすべてに目を通し,それに応じて次回授業でアナウンスすることが,ほとんどできていませんでした.昨日分は見ることができました.木曜日の分も,これで大丈夫なはず…
と思ったら,今週提出してもらっても来週はゴールデンウィークのためお休みで,次回は2週間後なのですよね.学生が,取り組んだ内容を忘れてしまわないか,少々不安です.