解析 Ruby 文件以获取评论

Parse Ruby file for comments

我想要一些可以解析 ruby 文件的东西来给我评论的文件位置。按受欢迎程度排名:

  1. 理想情况下,我可以将一些命令行参数传递给 "ruby",因为 "ruby" 当然会知道。不过这个好像没有啊?
  2. 有谁知道 if/where 在 "ruby" 我可以挂钩并使用它的方法来知道评论在哪里?
  3. 一些著名的正则表达式?

谢谢!

找到:https://github.com/ruby/ruby/tree/trunk/ext/ripper

示例:

require 'ripper'
require 'pp'

class CommentRipper < Ripper::SexpBuilder
    def on_comment(token)
        super.tap { |result| pp result }
    end
end

contents = File.read("file.rb")
pp CommentRipper.new(contents).parse

帮助我更好地理解开膛手:http://svenfuchs.com/2009/7/5/using-ruby-1-9-ripper