2010-01-28 72 views
4

下面的方法存在于Redcloth宝石中。这种结构在Ruby中意味着什么?

我的问题是:“(RedCloth :: Formatters :: HTML)”的结构是什么意思? “to”不是类中的方法,也不是超类(这是String类)。

干杯。基督教。

def to_html(*rules) 
    apply_rules(rules) 
    to(RedCloth::Formatters::HTML) 
end 

回答

7

当你搜索整个RedCloth源def to,除了寻找一对夫妇与to启动方法,你还可以找到确切的方法toext/redcloth_scan/redcloth_scan.rb.rl定义。

这里发生了两件事。首先,这个文件是由Ragel预处理的。但是对于这个问题,你可以放心地忽略这个事实,并阅读该文件中奇怪的语法。专注于红宝石位。

二,类RedCloth::TextileDoc重新打开在这里。这意味着该文件中的类和lib/redcloth/textile_doc.rb是相同的。因此,to实例方法将可用于您引用的一段代码。