pan*_*rey 1 ruby arrays methods initialization
这个问题可能很奇怪,或者我很愚蠢.
>> Array.methods.count
=> 97
>> a = Array.new.methods
=> 167
Run Code Online (Sandbox Code Playgroud)
数组初始化和分配后导致方法数量增加的原因.
你在计算两件事:类方法和实例方法.你可以将它与之进行比较instance_methods
p Array.methods.count #-> 97
p Array.instance_methods.count #-> 167
p Array.new.methods.count #-> 167
Run Code Online (Sandbox Code Playgroud)
或者看看是否new是一个有效的方法:
p Array.methods.include?(:new) #true
p Array.instance_methods.include?(:new) #false
Run Code Online (Sandbox Code Playgroud)
new 仅在类上定义,而不是在实例中定义.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |