ruby中的模板方法

Mar*_*lov 1 ruby generics

简单的问题:

在java中你可以定义:

void myFunction<T>(T value) { //do stuff }
Run Code Online (Sandbox Code Playgroud)

ruby中是否有等价物,如果没有,我怎样才能获得类似的结果(传递类类型?)

Aet*_*rus 6

您可以将类传递给方法,就像传递普通对象一样.例如

def create_object(klass, *args)
  klass.new(*args)
end

create_object(String)  #=> ""
create_object(Hash)  #=> {}
create_object(Array, 3, :hello)  #=> [:hello, :hello, :hello]
Run Code Online (Sandbox Code Playgroud)