2012-05-13 4 views
-1

this Ruby documentation을 살펴 보았지만 왜 해시의 내용으로 함수를 저장하려고하는지 잘 모릅니다.언제 proc를 해시에 저장 하시겠습니까?

미리 설명해 주셔서 감사합니다.

def find_city(map, state) 
    if map.include? state 
    return map[state] 
    else 
    return "Not found." 
    end 
end 

cities[:find] = method(:find_city) 
+0

나는이 질문을 이해하지 못한다. –

+0

Nvm ... 코드가 해시에 proc를 저장하고 있다는 것을 깨달았습니다. – stanigator

답변

2

키로 proc을 검색하고자 할 때.

이것은 예를 들어 간단한 명령 패턴 구현으로 사용될 수 있습니다.

예를 들어, cities이 무엇인지 알지 못하거나 더 이상 컨텍스트가없는 경우 목적이 무엇인지 말할 수 없습니다.

+0

이 기사의 맥락에서 이야기 하시겠습니까? 명령 패턴 구현? http://en.wikipedia.org/wiki/Command_pattern – stanigator

+0

@stanigator 이것은 명령 패턴입니다. –

관련 문제