在Ruby中创建实例变量

在Ruby中创建实例变量,ruby,Ruby,这个问题是关于Ruby中的编程实践的。 在静态方法中用ruby创建实例变量更可取吗?还是应该用初始化方法创建它们?初始化就是为了这个,为什么要做一些不同的事情呢 class SomeClass def initialize(first, second) @first = first @second = second end end ... 如何在类方法中创建实例变量(以一种实际可行的方式)?我认为对于实例变量的初始化或首次使用没有公认的“标准实践”。这取决于

这个问题是关于Ruby中的编程实践的。
在静态方法中用ruby创建实例变量更可取吗?还是应该用
初始化
方法创建它们?

初始化就是为了这个,为什么要做一些不同的事情呢

class SomeClass
  def initialize(first, second)
    @first     = first
    @second   = second
  end
end

... 如何在类方法中创建实例变量(以一种实际可行的方式)?我认为对于实例变量的初始化或首次使用没有公认的“标准实践”。这取决于变量的语义以及如何使用它。我经常看到这两种情况,视情况而定。在初始值设定项中设置它意味着您有一个合理的默认值,但情况可能并非如此。类方法也是一个类似的概念,但在类方法中操作实例并没有简单或合理的方法。我认为@mbranch是正确的,这主要是风格的问题。有些可能希望将所有实例变量记录在一个位置,因此,如果某些实例变量必须位于initialize()中,则会将它们全部粘贴在那里。其他人则认为,只有在有必要的时候才应该在initialize()中初始化实例变量(更一般地说,只有在有必要的时候才初始化所有变量)。不管你的观点如何,不要跨越这些阵营——这会让任何阅读你的代码的人感到困惑,甚至可能是你。(顺便说一句,我属于后一个阵营)实例变量通常在Rails框架中的方法内部设置,而不是类初始值设定项。您可能会遇到这样的情况,即没有合理的默认值来初始化它,您希望它是
nil
,直到需要为止。感谢@mbrach,我开始学习Ruby仍然没有进入Rails。问题不在于Rails,所以这没关系。