2

重複の可能性:
Ruby では、文字列が配列に含まれていないかどうかを確認するにはどうすればよいですか?

今、私はこのコードを持っています:

partial_update = true if session[:intended_params][:controller] == 'foo'
partial_update = true if session[:intended_params][:controller] == 'bar'
partial_update = true if session[:intended_params][:controller] == 'ding'
partial_update = true if session[:intended_params][:controller] == 'dong'
partial_update = true if session[:intended_params][:controller] == 'up'
partial_update = true if session[:intended_params][:controller] == 'down'
partial_update = true if session[:intended_params][:controller] == 'bing'
# ETC. 

これを次のように変更したい

array = %w[foo bar ding dong up down bing]
partial_update = true if session[:intended_params][:controller]  == array.any_of_the_possibilites

これを行う良い方法はありますか?

4

2 に答える 2

6

Ruby Array (Enumerable)include?メソッドを使用します。

array = %w[foo bar ding dong up down bing]
partial_update = true if array.include?(session[:intended_params][:controller])
于 2012-10-15T15:33:01.527 に答える
1
case session[:intended_params][:controller]
when *%w[foo bar ding dong up down bing]
  partial_update =  true
end

乱用case発言かもしれませんが

于 2012-10-15T17:23:50.170 に答える