Ruby index 方法难道还有其他用处吗

anleb · 2012年07月05日 · 最后由 fsword 回复于 2012年07月13日 · 3031 次阅读

元编程有段代码:

par=“aaaaaaaaaa”

def par.title?
       self.upcase==self
end
index(par)

书上说,只要有一个普通的String对象添加了title方法,就可以传递给index()方法。

好像意思就是index()方法让其他字符串对象都有了这个单件方法,求解  

那本书?如果是元编程那本书,我在书中没有看到这段。奇怪

也没看到,请问 LZ 具体书名和页码

#1 楼 @haohaoren #2 楼 @zlx_star 有的,中文版 4.3 P112,几个词换了而已。 LZ 注意看上一页有关 index 的代码段呀。 index 的作用是先对传入对象调用 title? 确认,再调用 add_to_index

刚好在翻这书,index 方法是之前定义了的其他逻辑,和修改 string 类无关

#3 楼 @fenprace 哦,还真有。之前粗粗翻了下,没仔细看,今天傻眼了

#5 楼 @zlx_star 结合前后文,就知道了,不细心。哈哈

楼主这样,浪费多少人时间啊!建议楼主从基础的看起,不要一上来就搞什么“元编程”!让像我这样学了近 2 年 ruby、还不知元编程为何物的人情何以堪!

#7 楼 @googya 我倒是建议你可以看看元编程了,不是为了奇技淫巧,是为了深入理解,对于 ruby 程序员,元编程是普通技能,就像对任何一种支持 FP 的语言来说,高阶函数是普通技能一样

#8 楼 @fsword 哈哈,跟楼主开玩笑的,我看那本书好久了,英文版刚出来的时候就看了,现在入了本中文的,枕边厕上的,收获确实多。同时我喜欢作者说的话,哪有什么元编程,只是编程而已。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号