如何以编程方式列出Ruby中Array的所有方法?

时间:2019-05-17 06:12:53

标签: arrays ruby

我想在Ruby中列出null的所有方法。我该如何处理?

2 个答案:

答案 0 :(得分:6)

可以通过Array.try_convert列出类似Objects#methods的类方法

Array.methods
#=> [:try_convert, :[], :allocate, :superclass, :new, :<=>, :<=, :>=, :==, ...]

它返回许多其他方法,因为(ArrayClass的实例中)它还包括Class中的实例方法。要仅获取特定于Array的类方法,我们可以传递false

Array.methods(false)
#=> [:try_convert, :[]]

Array#at之类的实例方法可以通过Module#instance_methods列出:

Array.instance_methods
#=> [:to_h, :include?, :at, :fetch, :last, ..., :instance_eval, :__id__, :__send__]

同样,我们可以传递false来排除继承的方法:

Array.instance_methods(false)
#=> [:to_h, :include?, :at, :fetch, :last, ..., :slice, :slice!, :dig, :hash]

答案 1 :(得分:3)

 p Array.instance_methods(false)

这将列出数组的所有实例方法。