ディレクトリに含まれるファイルの、ソースコード行数の総数を返すメソッド
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
ある特定のディレクトリ中に含まれるファイルの、ソースコードがトータルで何行あるかを調べる機会があったので、以下のコードを書いた。
スポンサーリンク
あるディレクトリのソースコード行数のトータルを返す
def count_line(path) count = 0 Dir.glob(path + "/" + "**/*").select do |entry| File.file?(entry) == true end.each do |file| File.open(file, "r").each do |line| count += 1 unless /^#/ =~ line end end return count end
おおざっぱには、こんな感じで、selectブロックの条件文を色々条件に合わせて追加すれば、精度も上がります。
とりあえずは、Rubyのソースコードを対象にした、”#”ではじまる行をコメントとして扱うようにしています。
例えば、gemsのactiverecord-2.0.2の行数を調べたい場合
path = C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2 puts count_line(path)
実行結果。
40219
と、すぐに返してくれます。
試していないですけど、あまりにも、ファイル数やソースコード行数が多い場合は、処理に時間がかかると思います。
スポンサーリンク
>> 次の記事 : 素数を調べるアルゴリズムを検証しメソッド定義
<< 前の記事 : Ruby1.9.1のWindows環境へのインストール
スポンサーリンク