如果此問題已在SO上得到解答,或者我的問題可以通過簡單的Google搜索解決,但我不知道用於描述它的術語,除了問題標題外,沒有任何結果。 因爲我不知道術語,我能做的最好的就是舉一個我想要的例子。 class MyClassProperty():
def __init__(self):
# somehow access MyObject class
pass
c
我知道在類實例中,我應該通過實例變量讀取變量的值。 但是通過自我閱讀的後果是什麼? 見下面的例子: class Test attr_writer :aa
def testing
puts @aa
puts self.aa <-- what are the consequences if I apply attr_reader :aa and try to read '
我正在通過學習Ruby的困難途徑 - ex40 目前,代碼工作正常。那不是我的問題。我的問題是每次添加新歌時。 A)我需要在initialize方法內創建一個實例變量。 B)然後,我必須給它一個attr_reader。 我知道我是否可以A)不必一直創建新的實例變量,而只需在Song類中創建變量。 B)不必爲每個變量創建一個attr_reader。 class Song
def ini
在Ruby類中,我想在包含給定模塊時存儲變量的值。下面是一個人爲的例子: module M
def self.included(base)
base.class_eval do
@@inclusion_time = Time.now
def included_at
@@inclusion_time
end
end
我需要一個不會繼承的類變量,所以我決定使用一個類實例變量。目前我有這樣的代碼: class A
def self.symbols
history_symbols
end
private
def self.history_tables
@@history_tables ||= ActiveRecord::Base.connection.
像下面的代碼所示,超類中定義的類訪問器可能會有意外的行爲,因爲類訪問器對於所有子類都是相同的變量。 class Super
cattr_accessor :name
end
class SubA < Super; end
class SubB < Super; end
SubA.name = "A"
SubB.name = "B"
SubA.name
=> "B" #