Rubyでcase whenメソッドでinclude?メソッドを使う方法を現役エンジニアが解説【初心者向け】
初心者向けにRubyでcase whenメソッドでinclude?メソッドを使う方法について現役エンジニアが解説しています。case whenメソッドとは、whenに式を指定して、式が成り立てば処理を実行する構文です。include?メソッドとは、配列や範囲に指定した値が含まれているかを判定するメソッドです。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Rubyでcase whenメソッドでinclude?メソッドを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
今回は、Rubyに関する内容だね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
どういう内容でしょうか?
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
Rubyでcase whenメソッドでinclude?メソッドを使う方法について詳しく説明していくね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
お願いします!
目次
case whenメソッドとinclude?メソッドの違いとは
case whenメソッドは、whenに式を指定して、式が成り立てば処理を実行することができます。
case 変数 when 式 処理 end
include?メソッドは、case whenメソッドで利用できる式の1つです。配列や範囲に指定した値が含まれているかを判定することができます。include?メソッドは、値の引数を指定します。
配列や範囲.include?(値)
戻り値は、値が配列や範囲に含まれていたらtrue、そうでないならfalseが戻ります。
array = [1, 2, 3] result = array.include?(1)
と書きます。この場合は、resultにtrueが代入されます。
探す対象が範囲の場合も同様に、
array = 1..3 result = array.include?(1)
と書きます。この場合は、resultにtrueが代入されます。
case whenメソッドとinclude?メソッドを使う方法
case when 配列や範囲.include?(値) 処理 end
と書きます。配列や範囲にinclude?メソッドで指定した値が含まれている時に処理が実行されます。
実際に書いてみよう
numbers = [5, 10, 21, 33, 45] num = 5 result = '' case when numbers.include?(num) result = '見つかりました' else result = '見つかりませんでした' end puts result
と書きます。numがnumbersに含まれているなら、
見つかりました
と表示されます。含まれていないなら、
見つかりませんでした
と表示されます。探す対象が範囲の場合も
range = 1..10 num = 5 result = '' case when range.include?(num) result = '範囲内です' else result = '範囲外です' end puts result
と書けます。numがrangeの範囲内なら
範囲内です
と表示されます。範囲外なら
範囲外です
と表示されます。
まとめ
case whenメソッドでinclude?メソッドを使うと、配列や範囲に値が含まれているかどうかで処理を場合分けできます。
値が含まれているかによって処理を場合分けしたい時に使ってみましょう。
筆者プロフィール
伊藤広明(いとうひろあき)
1990年代からソフトウェア開発を仕事としてはじめ、2000年ごろからWEBエンジニアの仕事にも従事。 作れるもの:Webシステム、スマホアプリ |
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
内容分かりやすくて良かったです!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
ゆかりちゃんも分からないことがあったら質問してね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。