《Programming Ruby 中文版第二版》P577页singleton_method_undefined方法说明有点问题
这是书上P577页的说法,看看官网的原文:
Invoked as a callback whenever a singleton method is undefined in the receiver
再看代码:
2 def Chatty.singleton_method_undefined(id)
3 puts "Undefining #{id.id2name}"
4 end
5 def Chatty.one() end
6 class << self
7 undef_method(:one)
8 end
9 end
10
查找关于 undef_method 的官网说明:
Prevents the current class from responding to calls to the named method. Contrast this with remove_method, which deletes the method from the particular class; Ruby will still search superclasses and mixed-in modules for a possible receiver.
《Programming Ruby 中文版第二版》P559页:
阻止当前类响应对这些给定方法的调用。这与remove_method形成鲜明对比;remove_method从这个特定的类中删除方法,而Ruby仍然会从它的超类和mixin的模块中寻找一个可能的接收者。
回到开头,is undefined 就不应该是“没有定义”了,而应该是“被undef_method方法调用后”。
ps:同样的错误可见p557页,关于method_undefined的说明
又ps:extended、method_undefined这两个方法在官网的文档中都没有说明,不知道是不是要发生什么变化?
转载于:https://www.cnblogs.com/bryanzk/archive/2007/07/27/833586.html
《Programming Ruby 中文版第二版》P577页singleton_method_undefined方法说明有点问题相关推荐
- EMC设计与测试案例分析郑军奇第二版 296页电磁兼容EMC超强书籍
EMC设计与测试案例分析郑军奇第二版 296页 20.0M 高清书签版.pdf 电磁兼容(EMC)标准解析与产品整改实用手册 WSQ 电磁兼容(EMC)设计与测试之汽车电子产品 [陈立辉 主编] 20 ...
- Ruby.say_hello——Programming Ruby中文版序
根据我的观察,习惯于Java或者C#的程序员在初初接触Ruby时,最能打动他们的往往就是像本文标题这样的一句代码:原本熟悉的字符串或者整数突然摇身一变,有了很多新的行为,甚至让整个Ruby语言都似乎变 ...
- 深入理解计算机系统(中文版第二版)
下载地址:网盘下载 内容简介 · · · · · · 从程序员的视角,看计算机系统! 本书适用于那些想要写出更快.更可靠程序的程序员.通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更 ...
- matlab验证Ross随机过程(第二版)P19页的结果
Ross书上的式子为: 下面用Matlab验证最终结果ΣPi,n 取n=2000进行验证,运行时间大概是两三分钟. 代码主要思路是: 先处理2<i<n-1的情况, 代码中分别用一个for循 ...
- OpenCV 3计算机视觉 Python语言实现(第二版) P72页人脸识别例子代码编译错误说明
我是按照书上例子中的代码写的,但是还是出了一堆错误.所以以后练习编程一定要自己输入. 先说说书上的错误吧,我首先遇到的问题是这个 这个问题的解决方法是,能写在一行的代码不写两行,下一个 字面意思是没有 ...
- R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)
R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...
- 《Python核心编程》第二版第36页第二章练习 -Python核心编程答案-自己做的-
<Python核心编程>第二版第36页第二章练习 这里列出的答案不是来自官方资源,是我自己做的练习,可能有误. 2.21 练习 2-1. 变量,print和字符串格式化操作符.启动交互式解 ...
- 《Python核心编程》第二版第18页第一章练习 -Python核心编程答案-自己做的-
<Python核心编程>第二版第18页第一章练习 这里列出的答案不是来自官方资源,是我自己做的练习,可能有误. 1.9 练习 1-1. 安装Python.请检查Python是否已经安装到你 ...
- Ruby编程语言(The Ruby Programming Language) 中文版
Ruby编程语言(The Ruby Programming Language) 中文版 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/11/ ...
最新文章
- 优化mysql服务器硬件包括_MySQL优化之一:服务器硬件和操作系统
- solidity return data和revert/require的reason string的获得
- ArrayList删除的问题
- 如何成为Java开发工程师?
- 【Pytorch】谈谈我在PyTorch踩过的12坑
- 关于阿里云图标的使用 iconfont
- aspose.words生成pdf字体乱码为方框
- Matlab变压器励磁涌流,基于matlab电力变压器励磁涌流的分析和仿真.doc
- JS 平方 开方 笔记
- C语言 找数字,用(折半查找法或二分查找法)
- Oracle以甲乙丙丁来排列
- Win7系统自动关机设定让你更轻松
- 前度字符串转数组_leetcode每日一题
- flutter 相机加入mask(遮罩层)
- 快速图像旋转算法的c++实现
- 让人变年轻的特效怎么做?教你制作变年轻特效小妙招
- python 用tkinter 做一个简易番茄钟
- 用dom4j实现对象和xml文件的互相转换
- 【面试题】深复制与浅复制的区别
- laravel 系统服务-助手函数