2012-03-12 2 views

답변

1

정의 된?

if defined?(your variable) 
    do something 
else 
    do something else 
end 

변수가 정의되면 변수의 종류가있는 문자열이 다시 전달됩니다. 그렇지 않으면 정의됩니까? nil을 반환합니다. 정의 된? (nil)은 "nil"이라는 문자열을 반환하고 nil은 반환하지 않습니다.

$ irb 
>> x = 1 
=> 1 
>> x 
=> 1 
>> defined? x 
=> "local-variable" 
>> defined? y 
=> nil 
>> y ||= 42 
=> 42 
>> defined? y 
=> "local-variable" 
>> z = 3 
=> 3 
>> z ||= 43 
=> 3 
>> defined? nil 
=> "nil" 
>> 
:

x ||= something 

빠른 예는 "정의되지 않은 경우이 작업을 수행"에 가까운 일을 할 수있는 매우 루비 관용적 방법있다

관련 문제