Я изучаю Ruby, и мне нравится играть с irb
, чтобы открывать новые функции и приемы. Сегодня я играл с переменными и методами, потому что хотел знать, какой из них предпочтительнее другого. Все выглядело хорошо, пока я не попробовал это:
def test
puts "hello"
end
test = "bye" if false
puts test
Я ожидал, что это вернется "hello"
, но это не так. Итак, я полагаю, что парсер обрабатывает 'test' как переменную вместо метода . У меня два вопроса:
- Правильно ли мое предположение?
- Есть ли способ узнать, является ли что-то переменной или методом? Какой-то метод, например
test.is_variable?