Если у меня есть, если заявлениеесли заявление: проверить, какое условие квалифицируется
x = 2
y = 1
if x == nil || y == nil || z == nil
raise "RuntimeError: Argument is nil"
end
можно было бы сделать что-то вроде
raise "RuntimeError: ${Argument} is nil"
где аргумент является переменной, которая является nil
? Или мне нужно отделить условия для этого?
if x == nil
raise "RuntimeError: x is nil"
end
if y == nil
raise "RuntimeError: y is nil"
end
if z == nil
raise "RuntimeError: z is nil"
end
Можно ли определить, какое условие для оператора if проходит так, чтобы выполнялся код внутри этого блока? В этом случае это будет z == nil
.
(1) Еще до того, как сообщение об ошибке поднято, ваш код вернет неопределенную ошибку для 'z'. (2) Константа «Аргумент» не может изменить свое значение между «nil» и числами во всем коде. (3) Что вы подразумеваете под «аргументом является переменная, которая равна нулю»? какой аргумент вы упоминаете? – sawa
С помощью 'raise 'RuntimeError: z is nil" 'вы, скорее всего, хотите' поднять RuntimeError, "z is nil" ' – fotanus
@fotanus или просто' raise' z is nil "', по умолчанию используется 'RuntimeError' – Stefan