有一些Ruby类不允许在其实例上定义单例方法.例如,Symbol:
var = :asymbol
def var.hello
"hello"
end
# TypeError: can't define singleton method "hello" for Symbol
Run Code Online (Sandbox Code Playgroud)
我想这可能是所有即时数据的限制,但它似乎对工作nil,true和false(但不实例Fixnum或Bignum):
var = true
def var.hello
"hello"
end
var.hello #=> "hello"
Run Code Online (Sandbox Code Playgroud)
我不明白为什么Ruby允许在某些对象类而不是其他对象上定义单例方法.
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |