-3
我是Ruby新手,嘗試做一些測試代碼。如何定義與變量名同名的方法?
以下是我的代碼,
class Test
name = "my name"
def name
if self.name.nil?
self.name = "new name"
end
end
end
puts Test.new.name
當我運行ruby Test.rb
它給了我堆棧層太深錯誤
Test.rb:4: stack level too deep (SystemStackError)
在這裏,我知道self.name會一次次給同樣的方法。 ..但我怎麼能達到這種類型的要求。
謝謝。
局部變量具有局部範圍。變量'name'是一個局部變量,因此在'name'方法中不可見。改用實例變量。 – Stefan