在 Eloquent Ruby 的第一章中,Russ Olsen写道:
Float
方法将其参数 - 通常是字符串 - 转换为浮点数。
Ruby新手我一直认为Ruby方法属于类定义,所以例如Fixnum
和Array
每个都有自己独立的:is_a?
(可能包括更大的或者更少量的共享代码),但“通常是字符串”意味着Float
是可以在不同类的对象上调用的单个方法。有人可以澄清一下情况吗?
答案 0 :(得分:0)
Float
既是一个类又是一个method in Kernel
。默认情况下,Kernel
模块包含在所有Ruby对象中,这意味着您可以从任何地方调用Float
方法。
Float
方法适用于Float
,Fixnum
,String
或具有to_f
方法的任何其他对象的参数(此方法必须返回Float
):
class Foo
def to_f
42.0
end
end
Float Foo.new # => 42.0