2013-02-12 54 views
3

随机类方法Random.rand别名为rand(即相当于Random.rand)。无论如何要获取Ruby使用的类方法别名的列表?Ruby类方法别名列表

不知道,Ruby文档提供了一个完整的列表,因为它不识别rand作为Random.rand的别名,但没有提到,srand是别名但它可以使用srandRandom.srand

我最终回答调用我的自己的问题 - 请看下面。

+1

'srand'不是兰特的别名;它被用于播种伪随机数生成器以“确保在程序的不同运行之间可重复的随机数序列(http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i -rand)”。至于你的问题,我建议你阅读这个答案:[http://stackoverflow.com/questions/3676834/is-it-possible-to-identify-aliased-methods-in-ruby](http://stackoverflow。 com/questions/3676834/is-it-it-possible-identify-aliased-methods-in-ruby) – 2013-02-12 16:08:24

+0

在回复你的陈述时,“srand不是rand的别名;” - 我不确定你为什么认为我暗示它是。我写的是“......但没有提及srand是别名,可以使用srand或Random.srand调用” 就引用的链接而言,如果要确定实例方法别名但是,我试图获得类方法别名列表。有关详细信息,请参阅我的编辑原始帖子,作为我的混淆重新类方法别名,以及我现在如何相信这些所谓的别名是内核实例方法。 – Dennis 2013-02-14 03:07:52

+0

我明白了;很抱歉对于这个误会。 – 2013-02-14 05:48:50

回答

1

编辑我原来的问题:

这个问题有它的根在Ruby Random类的文档参考http://ruby-doc.org/core-2.0/Random.html是指一个别名兰特的Random.rand类方法的误解。事实证明,rand和srand调用了Kernel实例方法。要调用Random类的方法rand和srand,你需要给出完全解析的调用,例如Random.rand或Random.srand

因此,我一直在寻找名单实际上是内核的实例方法的内核文档http://www.ruby-doc.org/core-1.9.3/Kernel.html