如何使用ruby中的正则表达式在RubyonRails中获取php注释行和代码行
我是rails新手,目前我正在使用ruby为php、javascript/coffeescript存储库进行代码统计,我需要使用正则表达式不获取php、javascript和coffeescript文件的编码行和注释行(单行和多行注释)。有人能帮忙吗,提前谢谢你这是我的人:如何使用ruby中的正则表达式在RubyonRails中获取php注释行和代码行,ruby,Ruby,我是rails新手,目前我正在使用ruby为php、javascript/coffeescript存储库进行代码统计,我需要使用正则表达式不获取php、javascript和coffeescript文件的编码行和注释行(单行和多行注释)。有人能帮忙吗,提前谢谢你这是我的人: f = File.open("test.php") loc = 0 comments = 0 while line = f.gets if commented ||= line.match(/^\/\*/) c
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遍历每一行,并将其分配给line变量
- 如果行与块注释的行匹配,则设置注释变量
- 将1添加到注释变量
- 如果设置了commented,则搜索注释的结尾,如果找到,则将commented设置为nil
- 否则,如果未打开注释块且找到“/”,则在注释中添加1
- 否则将1添加到loc,除非它是“空”行