2015-09-29 12 views

cevap

2

Yerel değişkenler, ayrıştırıldıkları noktada tanımlanır (nil). var2'un tanımı, koşulun önündedir. Bu, atama yapılmadığında bile var2 tanımlanır. Daha sonra koşul, var2'un için nil değerini koruduğu tanımlanır.

10

Bu Ruby'deki tek anlardan biri, gerçek WTF'leri çağırır.

Sen sonek sözdizimi ile

unless defined? var 
    var = :value 
end 

kullanmak zorunda, tercüman içten nil değeri -ify o böylece onay yapılmadan önce tanımlanan yapım değişken hakkında ikna edebilirim böylece:

# Doesn't print anything 
unless defined?(foo) and (p(foo) or true) 
    foo = :value 
end 

# Prints nil 
bar = :value unless defined?(bar) and (p(bar) or true) 
İlgili konular