我想避免在方法调用中重新评估值.直到现在,我这样做:
def some_method
@some_method ||= begin
# lot's of code
end
end
Run Code Online (Sandbox Code Playgroud)
但它最终变得非常丑陋.在某些代码中,我看到如下内容:
def some_method
@some_method ||= some_method!
end
private
def some_method!
# lot's of code
end
Run Code Online (Sandbox Code Playgroud)
我不喜欢最后的爆炸(!),所以我想出了这个:
def some_method
@some_method ||= _some_method
end
private
def _some_method
# lot's of code
end
Run Code Online (Sandbox Code Playgroud)
有没有办法以编程方式访问方法注释?或属性评论?
我想用它作为文档中方法的描述,我不希望它是静态的或用rdoc或等效的方法生成.
以下是Ruby类的示例:
Class MyClass
##
# This method tries over and over until it is tired
def go_go_go(thing_to_try, tries = 10) # :args: thing_to_try
puts thing_to_try
go_go_go thing_to_try, tries - 1
end
end
Run Code Online (Sandbox Code Playgroud)
基本上,我希望能够做到以下几点:
get_comment MyClass.gogogo # => This method tries over and over until it is tired
Run Code Online (Sandbox Code Playgroud)