루비 자료형 확인방법

조회수 1801회

안녕하세요.. 요즘 루비를 배우고 있는 학생입니다.

다름이 아니라 루비에서 자료형을 확인하는 방법에 대해서 묻고 싶은데요

파이썬은 type(변수) 로 확인할 수 있는데 루비는 변수의 자료형이 암묵적으로 변한다고 하더라구요. 그러면 확인이 불가능한건가요?

그러면 ['John', 'Eric', ['Cleese', 'Idle'], 'Michael', ['Palin']] 이 배열에서 for문으로 각 요소를 출력시킨다고 할 때, 중첩된 배열은 다르게 표현하고 싶은데 파이썬에서는 요소별로 type이 리스트일 때의 조건을 달아주면 됬었는데 루비에서는 어떻게 하나요?

고수님들의 답변 부탁드립니다...!!

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • ruby에서는 .class로 타입을 출력할 수 있고, kind_of?로 같은 타입인지를 확인할 수 있습니다.

    아래 코드에서는 배열인지를 확인(kind_of?)하고, 아니면 해당 타입을 출력(.class)한 다음 값을 출력하고 있습니다. 배열이면 '배열'이라고 적고 값을 출력합니다.

    arr= ['John', 'Eric', ['Cleese', 'Idle'], 'Michael', ['Palin']]
    
    arr.each do |a|
       if a.kind_of?(Array)
           print("배열: #{a}\n")
       else
           print("#{a.class}: #{a}\n")
       end
    end
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)