相关疑难解决方法(0)

在方法调用中是否存在memoization约定?

我想避免在方法调用中重新评估值.直到现在,我这样做:

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)
  • 是否在下划线上有一个好的约定?
  • memoized/non-memoized对方法是否有其他约定?
  • 是否有一些惯例来记忆多行方法?

ruby coding-style memoization

15
推荐指数
3
解决办法
3957
查看次数

在Ruby中以编程方式访问属性/方法注释

有没有办法以编程方式访问方法注释?或属性评论?

我想用它作为文档中方法的描述,我不希望它是静态的或用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)

ruby ruby-on-rails code-comments

4
推荐指数
1
解决办法
2021
查看次数