Почему вы хотите добавить nil
? Он специально разработан для обозначения отсутствия значения (примечание: nil
НЕ 0
).
Если то, что вы на самом деле хотите сделать, это установить оба значения на 0
, если либо в данный момент nil
, то на самом деле вам нужно:
if a.nil? or b.nil?; a,b=0,0; end
Ваша ошибка в приведенном выше коде была частью a,b=0
, которая устанавливает значение a
на 0
- она устанавливает b
на nil
, потому что левая сторона ищет два значения, и только один указан справа (поэтому предполагается, что остальные nil
).