Я хотел бы объявить массив объектов с точным классом объектов в 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";
}
}