2012-12-18 19 views
-1

我新的軌道,目前我對代碼統計PHP,JavaScript的/ CoffeeScript的倉庫工作使用紅寶石在那裏我有一個要求,軌道使用正則表達式獲取php和javascript和coffeescript文件的代碼行和註釋行(單行和多行註釋)。能有這方面的一個幫助,在此先感謝如何讓PHP註釋行,代碼行紅寶石指望使用正則表達式的紅寶石

+1

聽起來更多l ike Ruby問題,而不是Rails。 – Agush

+0

感謝您的回覆,是的,我使用紅寶石獲得評論線在PHP和JavaScript文件,我收到單行註釋,但我面臨問題獲得多行評論(/ * ... * /)你能幫我把這一塊。 –

回答

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中的計數器
  • 走線槽每一行獲得,並將其分配給行變量
  • 如果線的塊註釋的beggining匹配設置註釋變量
  • 加1到評論的變量
  • 如果評論設置,搜索評論的目的,並規定評價到零,如果發現
  • 不然,如果註釋塊不開「//」發現加1意見
  • 否則加1,祿,除非它是一個「空」行
+0

謝謝你的作品! –