问题描述
我想使用 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 (将#修改为@)