2009-04-08 4 views
3

Super-Anfänger einfache Punkte Ruby Frage. Ich versuche, etwas Rubin zu lernen, indem ich die Project Euler Probleme programmiere. Also ich habe einen TestWie legen Sie Klassen-Scope-Konstanten in Ruby fest?

class ProjectEuler_tests < Test::Unit::TestCase 
    @solution = 123456 # Not the answer so as not to be a spoiler 
    def test_problem_1 
    assert_equal(@solution, ProjectEuler1.new.solve) 
    end 
end 

Aber das funktioniert nicht, @solution ist gleich Null, wenn die Testläufe. Was ist der richtige Weg, um es im Klassenraum zuzuordnen?

Antwort

6

Class constants in Ruby mit einem Groß char starten:

class ProjectEuler_tests < Test::Unit::TestCase 
    SOLUTION = 123456 # Not the answer so as not to be a spoiler 
    def test_problem_1 
    assert_equal(SOLUTION, ProjectEuler1.new.solve) 
    end 
end 
Verwandte Themen