Задать вопрос

Почему Ruby возвращает nil?

Возник вопрос по возврату nil, пример:

# есть какая-то переменная:
my_variable = puts "Hi"
# при вызове метода p возвращается объект "nil"
p my variable

Я понимаю разницу между p и puts, осознаю, что метод должен вернуть какой-то результат, но не могу понять почему в данном случае будет nil.
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
Решения вопроса 1
2ord
@2ord
когда функция в Ruby ничего не возвращает, по умолчанию возвращается nil.

# есть какая-то переменная:
my_variable = puts "Hi"
Почему не так (нужно пробовать запускать построчно, а на сразу):
my_var = "hello"
puts my_var
p my_var

В интерпретаторе irb:
irb(main):001:0> my_var = "hello"
=> "hello"
irb(main):002:0> puts my_var
hello
=> nil
irb(main):003:0> p my_var
"hello"
=> "hello"

Возвращаемый функцией результат помечается как =>
Можно увидеть, что puts выводит на экран слово и затем возвращает nil. В твоем примере nil заносится в переменную my_variable. Так что все, как и следовало того ожидать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sudo_veritas
p my variable
Может p my_variable?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы