ruby – 块和对象
发布时间:2020-12-16 23:05:37 所属栏目:百科 来源:网络整理
导读:我有一个像这样的对象 class SomeObject def initialize block # do something endendclass AnotherObject SomeObject def initalize block super # do something with block endend 当在AnotherObject中调用super时,该块似乎被传递给SomeObject.这是正确的
我有一个像这样的对象
class SomeObject def initialize &block # do something end end class AnotherObject < SomeObject def initalize &block super # do something with block end end 当在AnotherObject中调用super时,该块似乎被传递给SomeObject.这是正确的行为吗? 解决方法
根据
rubyspec,这是正确的行为,即使你将显式参数传递给super(即super(‘foo’))
如果你不想传递那个块,你可以传递一个什么也不做的块,虽然这不是一回事(例如,如果方法根据block_given改变它的行为?) 看起来 super(&nil) 虽然我在ruby规范中找不到这个,但是这是一种完全不通过块的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- vb.net 教程 3-3 窗体编程 消息对话框
- c# – 在Parallel.Invoke中命名一个线程会导致异常“此属性
- 一次用sqoop抽取oracle数据到hive时遇到的问题
- ruby-on-rails – 自定义控制器操作update_attribute返回ni
- 详解Oracle修改字段类型方法总结
- DWR3.0框架入门(3) —— ScriptSession的维护及优化
- 用sqoop将oracle数据导入Hbase 使用笔记
- ruby-on-rails – 每次在Active Record上调用after_validat
- Promise+ajax && async+await+promise+ajax
- 解决循环typedef依赖关系?