2014-06-17 34 views
2

我发现这个在一个应该扩展一些其它类中的模块:参数列表中单独的星号是什么?

module Somemodule 
    def foo(*) 
    do_something_funny 
    super 
    end 
end 

我明白def foo(*args)构建体。单独星号的目的是什么?

+1

这就像在C++中一样'int function(int){}'同样在ruby *中工作原理相同 –

回答

9

它与*args类似,但没有提及参数。但是,只要super调用中没有指定明确的参数,它们就会按照提供给任何super调用的方式传递给父级的构造函数(或同名方法)。

这是一个很好的方式来表达你不打算以任何方式处理提供的参数。

相关问题