to zabrzmi dziwnie, ale chciałbym zrobić coś takiego:Ruby case statement na haszyszu?
case cool_hash
when cool_hash[:target] == "bullseye" then do_something_awesome
when cool_hash[:target] == "2 pointer" then do_something_less_awesome
when cool_hash[:crazy_option] == true then unleash_the_crazy_stuff
else raise "Hell"
end
Idealnie, nie trzeba nawet odwoływać się ponownie, ponieważ to, co jest o case. Gdybym tylko chciał skorzystać z jednej opcji, użyłbym "case cool_hash [: that_option]", ale chciałbym użyć dowolnej liczby opcji. Ponadto wiem, że instrukcje case w Ruby oceniają tylko pierwszy prawdziwy blok warunkowy, czy istnieje sposób na przesłonięcie tego, aby ocenić każdy blok, który jest prawdziwy, chyba że wystąpi przerwa?
dziękuję za szybką odpowiedź! Mile widziane. Pomaga mi to i mam nadzieję, że z czasem będę myślał w Ruby. –