Что здесь происходит?принуждение ноль к числу
irb(main):001:0> a= nil
=> nil
irb(main):002:0> b = nil
=> nil
irb(main):003:0> a
=> nil
irb(main):004:0> a+b
NoMethodError: undefined method `+' for nil:NilClass
from (irb):4
from :0
irb(main):005:0> if a.nil? or b.nil?; a,b=0;end;
irb(main):006:0* c = a+b
TypeError: nil can't be coerced into Fixnum
from (irb):6:in `+'
from (irb):6
from :0
irb(main):007:0>
Как вы можете безопасно выполнять арифметику, преобразуя nil в число?
Я лично предпочитаю 'или' над' || ', это просто проще для многих людей читать (хотя я сделал достаточно программирования, что я заканчиваю чтение' || 'как" или "anyways: P). – Amber
@ Dav: как насчет синтаксиса '@foo || = ...'? Я использую его много, так почему бы не всегда использовать '||'? На самом деле я просто рационализирую: я просто предпочитаю '||' over' или' :) – giorgian
'||' также имеет приоритет над 'или', поэтому они не всегда взаимозаменяемы. –