如何在 ruby documentor 中声明特定类型的数组?
How to declare array of a particular type in ruby documentor?
我想在 rubydoc 中为参数或变量或 @return
声明具有确切对象 class 的对象数组。 (一定是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";
}
}
class TheClass
# @param items [Array]
# @param filters [Array<Filter>]
# @return [Array<TheClass>]
def filter(items, filters); end
end
如文档所述YARD Tags。
我想在 rubydoc 中为参数或变量或 @return
声明具有确切对象 class 的对象数组。 (一定是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";
}
}
class TheClass
# @param items [Array]
# @param filters [Array<Filter>]
# @return [Array<TheClass>]
def filter(items, filters); end
end
如文档所述YARD Tags。