2012-05-13 2 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

@становитель Это шаблон команды, да. –