书籍 《Ruby Metaprogramming》Ruby 元编程

gazeldx · 2012年12月17日 · 最后由 YangZX 回复于 2012年12月18日 · 3590 次阅读

花了三天时间在这本书上,迫不及待的和大家分享,这本书是本牛书。 至少目前对于我这个RUBY中档程序员而言如此。我认为该书也适合初学者。 这本书解决了我困扰我许久的问题。谢谢作者:Paolo Perrotta. 中文版翻译的也很不错。如果想快速提升技能,就买中文版。如果想原汁原味,就买英文版。 虽然卖的有点贵,对于工作得到的帮助而言,值得! 如果你无法回答如下问题,建议一看: 什么是eigenclass? BaseObject和Object的区别? define_method方法的存在有何特别的价值? 什么是代码扁平化?

共收到 13 条回复

初学者就能看元编程?我一直觉得元编程是高级程序员才能涉足的领域啊。

推荐本比这本书更值得看的书 <重构 ruby版>

这本书确实不错,值得一看,能让你透彻理解 Ruby 一些核心的基本概念。

非常好的一本书,除了Rails部分已经过时了这点小瑕疵。 当然,书中涉及到的Ruby知识点较多,初学者不一定看得明白。

eigenclass 一直想吐槽这名字...太难记了...其实就是保存ruby的类方法的地方,比如,所有的X类的实例都共享X类的单件的eigenclass实例中的方法(即X类的实例的类方法)

代码扁平化就是将一些我们所处作用域无法访问的变量变的能让我们访问,比如动态创建类的时候你需要访问一些创建这个类需要的数据的时候,代码扁平化就有用了

define_method在你写一些动态添加方法的类或者批量添加方法的时候有用,而且也可以用于代码扁平化,配合上method_missing之后威力无穷的说...

BasicObject和Object区别好像是Object包含了Kernel,而BasicObject没有. 还有区别就是BasicObject没有include任何namespace,需要使用完整的从顶级namespace开始的类名

不知道我理解的对不对

@sailtsao 个人觉得BasicObject方便了直接建立一个白板类

非常好的一本书,把元编程讲得很通俗易懂,当然也是因为 Ruby 本身就非常优雅,不知道 JavaScript 有没有类似的书,现在对 JavaScript 感觉就是不知其然亦不知其所以然。

“代码扁平化”。。。楼主是想说扁平作用域吧。。

#7楼 @thisiskun Javascript The Good Parts就不错嘛。。比这本书还狠,好不吝啬对Javascript的批评

@YangZX 丽莎你好

#2楼 @cxh116 重构的这本好像和java的那本差不多,买了,还没仔细看。而且很多情况下Rails不一定适合,针对ruby的比较多。相比较,我更喜欢anti-pattern Rails这本。

#7楼 @thisiskun 可以看下javascript 设计模式 和MVC那本,都不错。

#10楼 @thisiskun 真心喜欢Lisa。。

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