, ! val.nil? , , , ; , , -, .
.nil? :
:
blah = {}
[:a,:b,:c,:a].each do |l|
if blah[l].nil?
blah[l] = 0
else
blah[l] += 1
end
end
blah
,
blah = Hash.new(0)
[:a,:b,:c,:a].each{|i| blah[i] += 1}
||= - .
:
- , nil, && , nil ,
if !val.nil?
val.do_something
end
val && val.do_something # =>nil if val is nil, val.do_something value otherwise
, nil , mckeed (x, y) , .