У меня возникли неудачные попытки с помощью Hash-es для этой проблемы из-за субоптимальной спецификации, которая была предоставлена мне (что означает: бизнес изменил спецификацию во время разработки).
Хеши хороши, пока вам не нужно написать что-то более сложное, чем одно значение. Если вам нужно изменить эти одиночные значения на методы, вам нужно переписать все, так как хэши берут значение методов, вызывая их , когда определяется хэш. И если впоследствии значение возвращаемого метода изменится, хеши не будут изменены.
И остается читаемым на английском :-)
def readable_status(status)
case status
when "1" then "go" end
when "2" then "stop" end
when "3" then "die" end
end
end
Значение по умолчанию - это круто !! –
+1. Или 'readable.fetch (status," default_value ")', что может быть проще понять для кого-то нового для Ruby (я предпочитаю вашу версию). –
Как мы можем использовать readable.fetch? –