当我注意到这个小宝石时,它一切照旧:
> nil.select
NoMethodError:私有方法`select'调用nil:NilClass
为什么nil有私有select
方法?
我还注意到Array.methods
和Enumerable.methods
没有:select
,所以他们的选择来自哪里?
答案 0 :(得分:1)
来自Kernel
类中包含的Object
模块。 NilClass
是Object
的父级,然后包含Object
和Kernel
Kernel模块有select方法。