2013-08-15 9 views
16

Oto scenariusz:Ruby/Rails mijając tablicę do przypadku

case code 
    when 'www', '', nil 
    false 
    when 'code1', 'code2'... 'code_n' # The array STORE_CODES contains all the codes 
    true 
    else 
    false 
end 

Jak mogę używać STORE_CODES bezpośrednio po when zamiast 'code1', 'code2'... 'code_n'

+0

Przeszukałem całą stronę przed opublikowaniem tego, czy mógłbyś wyjaśnić, w jaki sposób duplikat wspomnianego postu – Hable

Odpowiedz

32

wystarczy użyć:

when *STORE_CODES 

zamiast:

when 'code1', 'code2'... 'code_n' 
+0

święte crudmuffins, czy to faktycznie działa? Dobrze wiedzieć. –

+2

Dla ciekawskich '*' jest operatorem splat, który (między innymi) zamienia tablice na ciągi oddzielone przecinkami. Dobre informacje na ten temat tutaj: https://endofline.wordpress.com/2011/01/21/the-strange-ruby-splat/ –

Powiązane problemy