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

조회수 1098회

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

예를들면

a = 3

isset? a #true
isset? v #false

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

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"
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)