Obserwuję ćwiczenia z Ruby Koans iw about_proxy_object_project.rb
Jest taki kawałek kodu:Ruby 2.0 wyrzuca "[BUG] Stos błąd spójności"
class Proxy
def initialize(target_object)
@object = target_object
end
# This method was added by me
def method_missing(method_name, *args, &block)
@object.send method_name
end
end
To jest wywoływana tak:
def test_tv_methods_still_perform_their_function
tv = Proxy.new(Television.new) # Television is a class with a :channel attr_accessor and a power method
tv.channel = 10
tv.power
assert_equal 10, tv.channel
assert tv.on?
end
problem polega na tym, że linia tv.channel = 10
jest „łamanie” interpretera i rzuca:
[BUG] Stack consistency error (sp: 53, bp: 54)
ruby 2.0.0p0
(...)
full stack trace follows
Próbowałem już tego samego kodu z Ruby 1.9.3 i działa. Używam Ruby 2.0.0-p195.
Czy to błąd/błąd? Czy robię coś okropnie nie tak?
Wygląda na to, że zostało naprawione w p247 wydanym 27 czerwca, jak wskazuje matt. – sawa