Ben herhangi bir hatalara neden olmadığınıFoo (& nil), foo'dan (& "proc değil") farklı davranır?
[1, 2, 3].each(&nil)
heckle öğrendim - bu sadece bir sýralayýcý döndürür. Buna karşılık
,[1, 2, 3].each(&"")
Ayrıca &nil
nedenleri block_given
TypeError: wrong argument type String (expected Proc)
yükseltir? Ben RDoc kontrol - NilClass
to_proc
uygulayan için değil
def block_given_tester
if block_given?
puts "Block given"
else
puts "Block not given"
end
end
block_given_tester(&nil) # => Block not given
return false için.
Ben &nil
olması güzel olurdu nedenanlayabiliyorum, ama ben nasıl yapıldığını emin değilim. Bu, nil
yollarından yalnızca başka nesneler tarafından paylaşılmayan özel davranışlara sahip mi?
1,9 şubeden biri olmayan 1.8 şubeden birine baktığınızı düşünüyorum. –
Evet, Ruby 1.8'den beri mevcut olan kod. Bir şey değişip değişmediğini görmek için şimdi Ruby 1.9.2 kodunu indiriyorum. –
Ruby 1.9.2 için cevabımı düzenledim. –