{category}

Ruby - 制御構造

in

イン(Ruby 3.0以降の新機能

意味 パターンマッチングの一部


inとは?

inはRuby 3.0で導入されたパターンマッチング機能の一部です。caseやifと組み合わせて使用し、データ構造を分解して条件分岐を行うことができます。

inの具体的な使い方

パターンマッチングの例

def process_data(data)
  case data
  in [a, 2, b] if a.odd? && b.odd?
    puts "奇数-2-奇数: #{a}-2-#{b}"
  in {x: Integer => x, y: String => y}
    puts "x: #{x}, y: #{y}"
  in (1..10 => num)
    puts "1から10の範囲内: #{num}"
  else
    puts "マッチするパターンがありません"
  end
end

process_data([1, 2, 3])
process_data({x: 5, y: "test"})
process_data(7)
process_data("unknown")

👇出力結果

奇数-2-奇数: 1-2-3
x: 5, y: test
1から10の範囲内: 7
マッチするパターンがありません

この例では、process_dataメソッドを定義し、様々な入力に対してパターンマッチングを行っています。配列、ハッシュ、範囲など、異なる型のデータに対して適切なパターンを定義し、マッチした場合に特定の処理を行います。inキーワードを使用して各パターンを定義し、条件に一致した場合にのみ処理が実行されます。

inに関するよくある質問

Q. inキーワードの役割は何ですか?
A. inキーワードは、Ruby 3.0で導入されたパターンマッチング機能の一部です。case式やif式と組み合わせて使用し、データ構造を分解して条件分岐を行うことができます。
Q. パターンマッチングとは何ですか?
A. パターンマッチングは、データ構造を特定のパターンと照合し、一致した場合に変数に値を代入する機能です。複雑なデータ構造を簡潔に扱うことができます。
Q. inとcaseはどう使い分けますか?
A. caseは条件分岐の開始を示し、inは各パターンの開始を示します。caseの後に対象のデータを書き、その後に複数のinで始まるパターンを記述します。

inが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのinやYJIT、MJIT、=>、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

YJIT

Ruby 3.1の新しいJITコンパイラ

種類: パフォーマンス改善

MJIT

Ruby 3.0の新しいJITコンパイラ

種類: パフォーマンス改善

=>

右代入演算子

種類: 演算子

NAME

定数

種類: 定数

raise

意図的に例外を発生させる

種類: 例外の捕捉と発生