在Ruby中,你可以使用Array()
包装元素空数组,如果它是不是已经是一个数组:如何在Ruby中使用类似于Array()的方法(没有点语法)?
Array(2) => [2]
Array([2, 3]) => [2, 3]
我如何定义像我自己的自定义类中的方法?像Foo()
?我在网上很难找到它,因为我不知道这里到底发生了什么。
在Ruby中,你可以使用Array()
包装元素空数组,如果它是不是已经是一个数组:如何在Ruby中使用类似于Array()的方法(没有点语法)?
Array(2) => [2]
Array([2, 3]) => [2, 3]
我如何定义像我自己的自定义类中的方法?像Foo()
?我在网上很难找到它,因为我不知道这里到底发生了什么。
Array()
是在Kernel
模块中定义的私有方法。所以,如果您希望自定义Foo()
方法,在同样的方式工作,你可以这样做:
module Kernel
private
def Foo(*args)
# code
end
end
你也可以在Object
类中定义此方法,因为Kernel
是混合到Object
,就没有差别。
我认为'Foo'应该是一个私有方法,如果OP想把它称为'数组(2)'..as'Foo(2)'...也是。作为'Kernel.private_instance_methods.grep(/ Array /) #=> [:Array]''.. –
@ArupRakshit感谢您的建议,我相应地编辑了我的anwer。 –
'foo'会返回什么? –
没关系,只是想知道如何定义方法。 –
你需要在'foo'内写入什么行为? –