Тот же метод и имя константы в Ruby - PullRequest
0 голосов
/ 02 мая 2018
module Demo  
  Myconstant = 'This is the constant'
  private
    def Myconstant
      puts 'This is the method'
    end
end

class Sample
  include Demo

  def test
    puts Myconstant # => 'This is the constant'
  end

end

Sample.new.test

Как работает приведенный выше фрагмент?

Не должен ли Myconstant метод перезаписать "истинную" константу?

Есть ли способ вызвать метод вместо этого?

Спасибо.

1 Ответ

0 голосов
/ 02 мая 2018

Используйте скобки для явного вызова метода:

puts Myconstant
#⇒ 'This is the constant'

puts Myconstant()
#⇒ 'This is the method'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...