Запрос по модулю Ruby - PullRequest
0 голосов
/ 04 января 2019

Я проходил некоторые уроки, в которых я использовал следующий код

module DecimalCode
  RED = "rgb(255,0,0)"
  GREEN = "rgb(0,128,0)"

  def code
    return "RED : Decimal code #{RED}"
  end


  def DecimalCode.code
    return "GREEN : Decimal code #{GREEN}"
  end

  def hello
    return "Hello world!"
  end

end

include DecimalCode
puts DecimalCode.hello
puts DecimalCode.code

Мои запросы

  1. В чем разница между методами code и DecimalCode.code
  2. Когда я не включаю модуль и набираю puts DecimalCode.code, он всегда печатает Green: Decimal code, почему так?

1 Ответ

0 голосов
/ 04 января 2019

Методы в модуле могут быть методами экземпляра или методами модуля.Методы экземпляра отображаются как методы в классе, когда модуль включен, методы модуля - нет.

Здесь code называется методом экземпляра в модуле, тогда как DecimalCode.code называется методом модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...