如何使用 YARD 记录返回类型的方法?

问题描述

我想使用 YARD 更好地记录这种简单的记忆方法的返回类型:

# Ensures that given block is only executed exactly once and on subsequent
# calls returns result from first execution. Useful for memoizing methods.
#
# @param key [Symbol]
#   Name or unique identifier of the method that is being memoized
# @yield
# @return [Object] Whatever the block returns
def memoize(key,&_block)
  return @memos[key] if @memos.key?(key)

  @memos[key] = yield
end

注意:在此类的 @memos 方法上初始化了一个空哈希 #initialize

现在,表示方法总是返回给定块返回的任何内容会很棒,但我不确定如何最好地做到这一点。我想过使用 @yieldreturn,但随后需要使用 generic 之类的东西来表达类似于:

# @yieldreturn [<T>]
# @return [<T>] Whatever the block returns

但我相信这不是有效的 YARD。

有没有办法表达返回类型和提供的块的这种联系?任何建议表示赞赏:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...