Size: a a a

2019 October 13

СР

Слава Раш in RubyRush
Обьясните пожалуйста кто-нибудь про оператора iF в девятом уроке.
задаю
prog = "Я умею писать код на Ruby" # обьект согласия
not_prog = "Не умею писать код" # обьект отрицания

myskill = false # переменная дла работы с оператором IF

if (myskill == !nil) # Если переменная myskill содержит какое-то значение,
 puts prog # то Я умею писать код
else # иначе
 puts not_prog # Не умею писать код
end # конец выбора

Получаю в ответе "Не умею писать код", когда у меня переменная имеет значение FALSE, она ведь не пустая.
источник

Э

Эдем in RubyRush
if (myskill == !nil)

Это равнозначно такому коду

if myskill == true

А т.к. это не так, то не умеешь писать код 😃
источник

СР

Слава Раш in RubyRush
10 раз прочитал не понял ща ещё раз прочитаю
источник

СР

Слава Раш in RubyRush
Если я задам обьекту myskill значение true
источник

СР

Слава Раш in RubyRush
То, он начинает понимать, что обект не пустой
источник

СР

Слава Раш in RubyRush
И выводит puts prog # Я умею писать код
источник

СР

Слава Раш in RubyRush
А если задаю ему false, типо отрицание, то он выводит puts not_prog # Не умею писать код
источник

Э

Эдем in RubyRush
!nil -- это true
источник

СР

Слава Раш in RubyRush
!nil = это получется nil только его инверсия
источник

СР

Слава Раш in RubyRush
верно?
источник

Э

Эдем in RubyRush
Да
источник

СР

Слава Раш in RubyRush
nil же пустота
источник

СР

Слава Раш in RubyRush
а инверсия пустоты
источник

Э

Эдем in RubyRush
nil -- объект класса NilClass
источник

СР

Слава Раш in RubyRush
источник

СР

Слава Раш in RubyRush
А я нашёл
источник

СР

Слава Раш in RubyRush
в вики
источник

СР

Слава Раш in RubyRush
Глобальное значение nil является единственным экземпляром класса NilClass и означает «отсутствие значения». В логическом контексте эквивалентно false
источник

СР

Слава Раш in RubyRush
Отсутствия значения, а не пустота это
источник

СР

Слава Раш in RubyRush
А отстутствие значения он понимает как false
источник