변수가 이미 있는지 없는지 알아내는 메소드


루비에서 변수가 이미 있는지 없는지 알아내려면 어떤 메소드를 써야 할까요?

예를들면

a = 3

isset? a #true
isset? v #false

이런식으로 이미 쓰고있는 변수일때만 true를 return하는 메소드를 찾고있습니다

  • 2016년 02월 23일에 작성됨

조회수 128


1 답변


좋아요
0
싫어요
채택취소하기

해당 기능을 하는 defined? 키워드가 있습니다.

#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"
  • 2016년 02월 23일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close