Railsは初めてですが、現在、PHPとJavaScriptとCoffeescriptのコード化された行とコメント行(単一行と複数行のコメント)を取得しないようにする必要がある、rubyを使用したphp、javascript/coffeescriptリポジトリのコード統計に取り組んでいます。正規表現を使用するファイル。誰かがこれを助けることができます、事前に感謝します
質問する
172 次
1 に答える
1
これが私の男です:
f = File.open("test.php")
loc = 0
comments = 0
while line = f.gets
if commented ||= line.match(/^\/\*/)
commented = nil if line.match(/\*\/$/)
comments += 1
elsif line.match(/^\s*\/\//)
comments += 1
else
loc +=1 unless line.match(/^\s*\n/)
end
end
puts loc
puts comments
これは次の場合に機能します。
//line comments
/* inline block comments */
/* multi
line
comments */
使い方:
- ファイルを開きます
- カウンターを0で初期化します
- getを使用して各行を調べ、それを行変数に割り当てます
- 行がブロックコメントの先頭と一致する場合は、コメント付き変数を設定します
- コメント変数に1を追加
- コメントが設定されている場合は、コメントの終わりを検索し、見つかった場合はコメントをnilに設定します
- それ以外の場合、コメントブロックが開かれておらず、「//」が見つかった場合は、コメントに1を追加します
- それ以外の場合は、「空の」行でない限り、locに1を追加します
于 2012-12-20T01:54:49.060 に答える