Как установить константы области видимости в ruby? - PullRequest
3 голосов
/ 08 апреля 2009

Супер-новичок, легкий балл, рубиновый вопрос. Я пытаюсь выучить какой-нибудь рубин, программируя проблемы Project Euler . Итак, у меня есть тест

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

Но это не работает, @solution при запуске теста равен нулю. Как правильно назначить его в области видимости класса?

1 Ответ

6 голосов
/ 08 апреля 2009

Константы класса в рубине начинаются с заглавной буквы:

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
...