我有这堂课:
class Option
# ORM's properties
def self.get( id )
# some ORM action
"result of #{id}"
end
end
我可以致电Option.get :setting
来收到结果。如果我想在Option(:setting)
中调用String(42)
(返回"42"
)以获得与Option#get
相同的结果,该如何编写课程?
答案 0 :(得分:1)
String
实际上是Kernel module中的一种方法:
字符串(arg)→字符串
通过调用
String
方法将 arg 转换为to_s
。
您会在同一个地方找到Array
,Float
和朋友。内核包含在Object中,这就是普通全局函数所使用的所有方法。你可以修补补丁内核:
module Kernel
def Option(id)
Option.get(id)
end
end
或者使用这样的方法创建自己的模块,如果他们想要访问Option(11)
,可以让人们包含它。