Зед А.Шоу ex48 - PullRequest
       12

Зед А.Шоу ex48

0 голосов
/ 28 марта 2020

Я в настоящее время изучаю книгу Зеда А. Шоу: «Учитесь» Ruby трудным путем, и у меня возникают проблемы с пониманием упражнения 48. Что я не понимаю, так это фрагмент кода теста:

class LexiconTests < Test::Unit::TestCase

Pair = Lexicon::Pair
@@lexicon = Lexicon.new()

def test_directions()
assert_equal([Pair.new(:direction, 'north')], @@lexicon.scan("north"))
result = @@lexicon.scan("north south east")
assert_equal(result, [Pair.new(:direction, 'north'),
             Pair.new(:direction, 'south'),
             Pair.new(:direction, 'east')])
end

Почему нам нужно использовать Pair = Lexicon :: Pair? Что создает этот кусок кода?

1 Ответ

0 голосов
/ 29 марта 2020

Как указывал @steenslag, это назначение, как ярлык. В некоторых языках эта идея называется псевдонимом.

Pair = Lexicon::Pair

Это позволяет вам ссылаться на Lexicon::Pair как Pair в остальной части класса. Полученный код менее подробный.

...