Как программно перечислить все методы Array в Ruby? - PullRequest
0 голосов
/ 17 мая 2019

Я хочу перечислить все методы Array в Ruby. Как мне подойти к этому?

Ответы [ 2 ]

6 голосов
/ 17 мая 2019

Методы класса, такие как Array.try_convert, могут быть перечислены через Objects#methods

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

Возвращает много дополнительных методов, потому что (Array относится к экземпляру Class), оно также включает методы экземпляра из 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]
3 голосов
/ 17 мая 2019
 p Array.instance_methods(false)

Будет выведен список всех методов экземпляра массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...