Как объявить массив определенного типа в ruby ​​documentor? - PullRequest
0 голосов
/ 03 сентября 2018

Я хотел бы объявить массив объектов с точным классом объектов в Rubydoc для параметра или переменной, или для @return. (это должен быть RDoc? ..)

Основная причина, заставляющая RubyMine (или другую IDE) работать правильно для автозаполнения, интерактивных методов, рефакторинга и т. Д.

В PHP будет выглядеть так:

/**
 * @param array $items
 * @param Filter[] $filters
 * @return Result[]
 */
function filter($items, $filters) {}

Я просто не уверен, может ли он работать аналогичным образом в RubyMine:

##
# @param [Array] items
# @param [Filter[]] filters
# @return [ResultClass[]]
#
def filter(items, filters); end

Дополнительный пример в PHP:

class My
{
    public $name;
}

/**
 * @return My[]
 */
function foo()
{
      // Similar code here
      //return [new My(), new My()];
}

function show()
{
    foreach (foo() as $item) {
        // IDE will make autocomplete for My::$name
        echo "$item->name\n";
    }
}

1 Ответ

0 голосов
/ 03 сентября 2018
class TheClass
  # @param items   [Array]
  # @param filters [Array<Filter>]
  # @return        [Array<TheClass>]
  def filter(items, filters); end
end

Как задокументировано Ярды Метки .

...