변수가 이미 있는지 없는지 알아내는 메소드
조회수 1098회
루비에서 변수가 이미 있는지 없는지 알아내려면 어떤 메소드를 써야 할까요?
예를들면
a = 3
isset? a #true
isset? v #false
이런식으로 이미 쓰고있는 변수일때만 true를 return하는 메소드를 찾고있습니다
1 답변
-
해당 기능을 하는
defined?
키워드가 있습니다.defined? expression tests whether or not expression refers to anything recognizable (literal object, local variable that has been initialized, method name visible from the current scope, etc.). The return value is nil if the expression cannot be resolved. Otherwise, the return value provides information about the expression.
주어진 expression이 recognizable인지 아닌지를 테스트합니다. expression이 resolve될 수 없으면 nil, 그렇지 않으면 해당 expression에 관련된 정보를 return합니다.
>> a = 1 => 1 >> defined? a => "locdal-variable" >> defined? b => nil >> defined? nil => "nil" >> defined? String => "constant" >> defined? 1 => "expression"
댓글 입력