#ruby #rdoc #yard
#ruby #rdoc #yard
Вопрос:
Допустим, у меня есть следующая функция:
@param foo [Array<String>]
def recursive_split(foo)
bar = []
foo.each do |elem|
bar.append(elem.split(''))
end
bar
end
Как мне документировать с @return
помощью тега yard, что мое возвращаемое значение представляет собой массив массивов строк? Это @return [Array<Array<String>>]
правильный способ сделать это?
Ответ №1:
Документы не настолько конкретны, но спецификаторы типов рекурсивны, поэтому X
in Array<X>
может быть любым списком допустимых типов, поэтому эти:
Array<String>
Array<String, Symbol>
Array<Array<String, Symbol, #m>>
Array<String, Array<#m>>
...
все допустимы.
Онлайн-анализатор типов, вероятно, самый простой способ проверить. Это говорит Array<Array<String>>
о том, что:
массив (массив (строк))