【Ruby】コードからコメント文だけを抜き出してみる
なんとかWebアプリを作るため、ペアプログラミング的な感じでRubyを教わっています。
作りながら学ぶRuby入門 第2版を進めながら、参考書のサンプルコードのコメント文は実装の手順みたいになっているので、コメント文だけを残して自分で書く。わからなければその都度質問したり、間違っていたらツッコミを入れてもらう、という勉強方法でやっています。というか教えて頂いてます。
で、そのコメント文以外を削除するというのを手動でやっているんですが、これは自動化した方がいいんだろうなと思いました。
(手順のコメントと実装コードが混在してる状態。ペアプロのためにコメント文だけを抜き出したい)
これくらいの処理なら今の自分でも書けるな、ということで書いてみました。
fname = ARGV[0] comments = [] open(fname,"r") do |f| i = 0 while row = f.gets line = row.strip if line =~ /^#/ comment = row comments[i] = comment print "#{i}: #{comments[i]} \n" i += 1 end end end
これを実行すると出力はこんな感じになります。インデントはあった方が良いので残しました。
ろくにメソッドは知らないしスマートになんて書ける気がしないけど、正規表現・ファイル入出力・式展開など、ちょうど今回勉強したところの復習になったと思う。
これをコンソールに出すだけじゃなくて新たなファイルに書き込むところまでやろうと思ってたけどちょっとよくわからないし眠くなったのでまた明日ということで。