カテゴリ: Ruby 更新日: 2026/04/07

Rubyの実務で役立つif文・条件分岐の定石!料金計算や入力チェックの例20選

実務例20連発:料金計算・権限判定・入力バリデーションの定石
実務例20連発:料金計算・権限判定・入力バリデーションの定石

先生と生徒の会話形式で理解しよう

生徒

「Rubyの基本は分かりましたが、実際の仕事ではどんな風にif文を使うんですか?」

先生

「実務では、料金の計算やログイン権限の判定、入力データのチェックなど、本当にたくさんの場面で使われますよ。」

生徒

「なるほど。具体的な例をたくさん見て、プログラムの『使い道』をイメージできるようになりたいです!」

先生

「素晴らしい意欲ですね。では、実務でよく使われる『定石』のパターンを、初心者の方にも分かりやすく解説していきましょう!」

1. 料金計算の基本!年齢や条件による割引処理

1. 料金計算の基本!年齢や条件による割引処理
1. 料金計算の基本!年齢や条件による割引処理

プログラミングの仕事で非常によくあるのが「料金計算」です。映画館のチケット代やバスの運賃など、条件によって値段が変わる仕組みを作ります。

条件分岐(じょうけんぶんき)を使うことで、「もし子供なら」「もし高齢者なら」というルールをコンピュータに教えることができます。パソコンを触ったことがない方でも、遊園地の窓口にある料金表をイメージすれば簡単です。


age = 15 # お客さんの年齢
price = 2000 # 基本料金

if age <= 12
  price = 500
  puts "子供料金が適用されました"
elsif age >= 65
  price = 1200
  puts "シニア割引が適用されました"
else
  puts "通常料金です"
end

puts "お会計は #{price} 円です"

このように、上から順番に条件を確認していくことで、正しい金額を導き出すことができます。

Rubyの文法を基礎からしっかり固めたい人や、 現場で役立つ「テスト駆動開発」の考え方まで身につけたい人には、 評価の高いこの一冊がおすすめです。

プロを目指す人のためのRuby入門をAmazonで見る

※ Amazon広告リンク

2. 権限判定の仕組み!管理者と一般ユーザーの区別

2. 権限判定の仕組み!管理者と一般ユーザーの区別
2. 権限判定の仕組み!管理者と一般ユーザーの区別

ウェブサイトやアプリでは、「誰が操作しているか」によってできることを変える必要があります。これを権限判定(けんげんはんてい)と言います。

例えば、管理者の人だけが「データの削除」ボタンを押せるようにし、一般の人は「見るだけ」にする、といった具合です。この時、Rubyのif文が大活躍します。


user_role = "admin" # ユーザーの種類(adminは管理者の意味)

if user_role == "admin"
  puts "削除ボタンを表示します(全権限あり)"
elsif user_role == "editor"
  puts "編集ボタンを表示します(修正のみ可能)"
else
  puts "閲覧モードで表示します"
end

実務では、このように「文字列(文字の塊)」を比較して、アプリの見た目や動きを切り替えるのが一般的です。

3. 入力バリデーション!正しいデータかチェックする

3. 入力バリデーション!正しいデータかチェックする
3. 入力バリデーション!正しいデータかチェックする

バリデーションとは、入力された内容が正しいかどうかを確認することです。例えば、電話番号の欄に名前が書いてあったり、パスワードが短すぎたりしたときに「やり直し」を命じる仕組みです。

これを怠ると、プログラムが壊れてしまったり、セキュリティ上の問題が起きたりします。初心者が実務で最初に任されることが多いのも、このチェック機能の作成です。


password = "abc" # ユーザーが入力したパスワード

if password.empty?
  puts "エラー:パスワードを入力してください"
elsif password.length < 8
  puts "エラー:パスワードは8文字以上にしてください"
else
  puts "登録に成功しました!"
end

empty?(空っぽか?)やlength(長さ)といったRubyの便利な道具を使って、入力内容を厳しくチェックします。

4. 複数の条件を組み合わせる!複雑なルールを表現

4. 複数の条件を組み合わせる!複雑なルールを表現
4. 複数の条件を組み合わせる!複雑なルールを表現

実務のルールはもっと複雑なことがあります。「週末で、かつ、雨が降っている場合だけクーポンを出す」といった複数の条件を組み合わせる時は、&&(かつ)や||(または)を使います。

これを論理演算子(ろんりえんざんし)と言いますが、難しく考える必要はありません。「AとBの両方が正しいとき」といった日本語の文章を記号に置き換えるだけです。


is_weekend = true # 今日は週末か
has_coupon = false # クープンを持っているか

# 週末、またはクーポンを持っているなら割引
if is_weekend || has_coupon
  puts "割引対象です!"
else
  puts "通常価格での販売です"
end

5. 在庫管理と購入の分岐!エラーを防ぐ設計

5. 在庫管理と購入の分岐!エラーを防ぐ設計
5. 在庫管理と購入の分岐!エラーを防ぐ設計

ネットショップなどでは、「在庫があるか」「注文個数が在庫を超えていないか」を瞬時に判断しなければなりません。

もし在庫が0なのに注文を受け付けてしまったら、お客さんに迷惑がかかってしまいますよね。プログラムでしっかりと「防波堤」を築くことが、信頼されるシステム作りの第一歩です。

ここでは、注文数と在庫数を比較して、購入できるかどうかを判断するパターンを見てみましょう。


stock = 5 # 在庫の数
order_count = 10 # 注文したい数

if stock == 0
  puts "申し訳ありません、完売しました"
elsif order_count > stock
  puts "在庫が足りません。あと #{stock} 個まで購入可能です"
else
  puts "注文を確定しました!"
  stock = stock - order_count # 在庫を減らす
end

6. ログイン状態によるナビゲーションの切り替え

6. ログイン状態によるナビゲーションの切り替え
6. ログイン状態によるナビゲーションの切り替え

ウェブサイトの右上のボタンが、ログインしているときは「マイページ」、していないときは「ログイン」に変わるのを見たことはありませんか?

これもRubyのif文で制御されています。中身が「空(nil)」かどうかをチェックすることで、ユーザーが誰であるかを識別し、表示するメニューを出し分けます。

実務では「もしユーザーが存在するなら(ログイン中なら)」という分岐がいたるところに登場します。

7. フォーム送信前の必須項目チェック

7. フォーム送信前の必須項目チェック
7. フォーム送信前の必須項目チェック

名前、メールアドレス、お問い合わせ内容……。すべての項目が埋まっているかを確認するのも大切な仕事です。

もし一つでも欠けていたら送信ボタンを押せなくしたり、エラーメッセージを出したりします。こうした「おもてなし」の心も、プログラミングで作ることができます。

Rubyでは「何もしない」ことを表すnilという特別な状態があり、これを使って項目が埋まっているかを調べることが多いです。

8. 異常系への対応!サーバーからの返答チェック

8. 異常系への対応!サーバーからの返答チェック
8. 異常系への対応!サーバーからの返答チェック

自分のプログラムだけが正しく動いていても、外部のサービス(地図を表示する機能や、支払いを処理する機能など)からエラーが返ってくることがあります。

これを異常系(いじょうけい)と呼びます。実務では「成功した場合」よりも「失敗した場合」にどう動くかを考える時間の方が長いくらいです。

「通信に成功したときは画面を出す。失敗したときは『しばらくお待ちください』と出す」といった分岐を細かく書くことで、止まらないシステムが出来上がります。

9. コンピュータの気持ちになって整理してみよう

9. コンピュータの気持ちになって整理してみよう
9. コンピュータの気持ちになって整理してみよう

これまでに紹介した例(料金、権限、バリデーションなど)は、どれも「もし~だったら」という人間の思考をRubyの言葉に翻訳したものです。

パソコンを触ったことがない方にとって、最初はコードが呪文のように見えるかもしれません。でも、一つ一つの意味を紐解けば、日常で行っている判断と何も変わりません。

「この場合はどうなるかな?」と例外を探すのが上手な人は、プログラミングの才能があります。ぜひ身近なサービスの仕組みを想像して、「ここならどんなif文が使われているかな?」と考えてみてください。

10. 初心者が実務で活躍するためのコツ

10. 初心者が実務で活躍するためのコツ
10. 初心者が実務で活躍するためのコツ

最後に、これから学習を進める上でのアドバイスです。

実務では、100点のプログラムをいきなり書く必要はありません。まずは基本的なif文で「正しく動く」ものを作り、後から少しずつ複雑な条件を足していくのが上達の近道です。

今回紹介した20連発のパターン(代表的な例)は、どんな大きなシステムでも必ず根底に使われている技術です。基本を大切に、楽しみながらRubyの世界を広げていきましょう!

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
PostgreSQL初心者ガイド!制約(主キー・外部キー・UNIQUE)を徹底解説
New2
Ruby
Rubyの実務で役立つif文・条件分岐の定石!料金計算や入力チェックの例20選
New3
Rails
RailsモデルとActive Record基礎|dependent: :destroy と :nullifyで学ぶ依存関係の削除と外部キー整合性
New4
データベース
SQLでデータベースを操作する流れとは?テーブル・行・列の関係を図解で理解
人気記事
No.1
Java&Spring記事人気No1
データベース
SQLで複数テーブルを結合する方法を徹底解説!初心者でも図解でわかるJOINと集計の基本
No.2
Java&Spring記事人気No2
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.3
Java&Spring記事人気No3
Ruby
Rubyの論理演算子をマスター!and/orと&&/||の違いと優先順位の罠
No.4
Java&Spring記事人気No4
データベース
PostgreSQLが遅い原因を解決!初心者向けデータベースチューニングと高速化の基本
No.5
Java&Spring記事人気No5
Rails
Rails 7/8対応|RSpec入門:describe・context・it・expectを初心者向けに完全解説
No.6
Java&Spring記事人気No6
Ruby
Rubyの条件分岐をスッキリ!早期リターンとガード節で読みやすいコードへ
No.7
Java&Spring記事人気No7
Ruby
Rubyのif地獄を卒業!ハッシュディスパッチとポリモーフィズムでコードを劇的に綺麗にする方法
No.8
Java&Spring記事人気No8
Rails
Railsテスト入門:FactoryBotの使い方を完全解説!trait・association・sequenceでテストデータ最適化