루비와 오리타입

2007/11/23 14:45
루비는 오리타입을 지향한다.
오리타입이라 함은 '오리처럼 행동하면, 오리로 봐라' 를 행동강령으로 가지는 타입을 의미한다.

오리타입의 대표적인 예가 Array이다.
루비에는 Queue나 Stack이 없다. 대신, Array로 Queue와 Stack의 역할을 할 수 있다.
Array가 Queue처럼 굴면, Queue로 보고 Stack 처럼 굴면 Stack으로 보라는게 루비의 철학이다.

나 같은 경우는 제일 익숙한 언어인 C++을 기준으로 저 Array의 오리타입을 오리로 바꾸어 사용한다.

(Language : perl)
module Pok

    class Stack < Array
        def push_back( _element )
            push(_element)
        end

        def pop_back
            pop
        end
    end

    class Queue < Array
        def push_back( _element )
            push(_element)
        end

        def pop_front
            shift
        end
    end

end

프로그래밍

Trackback Address:http://poksion.cafe24.com/poklog/trackback/80