需要帮助查找Ruby的声明方法的文档

时间:2013-12-07 21:11:57

标签: ruby declare

有人可以告诉我这个方法的作用或者我可以在哪里找到文档吗?

声明:百分比,[:值]

很难对此进行研究,因为我不断获得有关声明变量,方法等的文档。

谢谢!

1 个答案:

答案 0 :(得分:1)

.declare不是Ruby标准库的一部分。它似乎存在于Sass宝石中。

它在Sass :: Script :: Functions模块中声明:here

以下是相关的documentation

  

声明(method_name,args,options = {})

     
     

为Ruby定义的函数声明一个Sass签名。这包括参数的名称,函数是否采用可变数量的参数,以及函数是否采用任意一组关键字参数。

     

没有必要为函数声明签名。但是,如果没有签名,它将不支持关键字参数。

     

只要每个函数采用不同数量的参数,单个函数就可以声明多个签名。也可以声明多个签名都使用相同数量的参数,但除非用户使用关键字参数,否则不会使用除第一个之外的所有参数。

     

<强>示例:

 declare :rgba, [:hex, :alpha]
 declare :rgba, [:red, :green, :blue, :alpha]
 declare :accepts_anything, [], :var_args => true, :var_kwargs => true
 declare :some_func, [:foo, :bar, :baz], :var_kwargs => true
  

<强>参数:

method_name (Symbol) —

The name of the method whose signature is being declared.
args (Array<Symbol>) —

The names of the arguments for the function signature.
options (Hash) (defaults to: {}) —

a customizable set of options
  

选项哈希(选项):

:var_args (Boolean) — default: false —

Whether the function accepts a variable number of (unnamed) arguments in addition to the named arguments.
:var_kwargs (Boolean) — default: false —

Whether the function accepts other keyword arguments in addition to those in :args. If this is true, the Ruby function will be passed a hash from strings to Literals as the last argument. In addition, if this is true and :var_args is not, Sass will ensure that the last argument passed is a hash.