カテゴリ: Ruby 更新日: 2025/12/01

Rubyの予約語と組み込み定数を完全解説!初心者でもわかる識別子の使える・使えない一覧【保存版】

予約語と組み込み定数一覧(保存版):使える/使えない識別子を総チェック
予約語と組み込み定数一覧(保存版):使える/使えない識別子を総チェック

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

生徒

「Rubyで変数に名前をつけようとしたら、エラーになってしまいました。どうしてですか?」

先生

「それは、Rubyで特別な意味を持つ予約語組み込み定数を変数名に使おうとしたからかもしれません。」

生徒

「予約語とか組み込み定数って何ですか?」

先生

「予約語はRubyの文法で使われる特別な単語で、プログラマーが自由に変数名として使えないものです。組み込み定数はRubyが最初から持っている特別な値です。今日はそれらを一覧で整理して解説していきましょう。」

1. Rubyの予約語とは?

1. Rubyの予約語とは?
1. Rubyの予約語とは?

Rubyには、プログラムの構造を作るために必ず使う予約語があります。予約語は変数名やメソッド名にすることはできません。もし使おうとするとエラーになります。

代表的な予約語を一覧にまとめました。

  • def
  • end
  • if
  • else
  • elsif
  • unless
  • case
  • when
  • while
  • until
  • for
  • do
  • class
  • module
  • true
  • false
  • nil
  • return
  • break
  • next
  • redo
  • retry
  • super
  • self
  • yield

if = 10

SyntaxError: unexpected '='

このように、ifのような予約語は変数名にできません。Rubyにとっては文法を構成する大事なキーワードだからです。

2. Rubyの組み込み定数

2. Rubyの組み込み定数
2. Rubyの組み込み定数

Rubyには最初から定義されている組み込み定数があります。これらは言語仕様や実行環境に関する情報を保持しているため、原則として再代入は推奨されません。

代表的な組み込み定数を一覧にまとめます。

  • ARGV:コマンドライン引数
  • ENV:環境変数
  • NIL, TRUE, FALSE(Rubyの古いバージョンで利用可能)
  • RUBY_VERSION:実行中のRubyのバージョン
  • RUBY_PLATFORM:実行環境(例: x86_64-darwin22)
  • RUBY_RELEASE_DATE:リリース日
  • STDIN, STDOUT, STDERR:標準入力・標準出力・標準エラー出力
  • DATA:ファイルの__END__以降のデータ

puts RUBY_VERSION
puts RUBY_PLATFORM

3.2.2
x86_64-linux

このように、組み込み定数はRubyの内部情報を知るために役立ちます。これらを無理に変えると予期せぬ動作になるので注意が必要です。

3. 使える識別子と使えない識別子の違い

3. 使える識別子と使えない識別子の違い
3. 使える識別子と使えない識別子の違い

識別子(しきべつし)とは、変数やメソッド、クラスなどにつける名前のことです。Rubyでは予約語を識別子にできませんが、普通のアルファベットや日本語は使えます。


name = "たろう"
年齢 = 20
puts name
puts 年齢

たろう
20

日本語の変数名も利用できますが、チーム開発では英単語を使うのが一般的です。予約語や組み込み定数を変数名にしないように気をつけましょう。

4. Rubyの識別子ルール

4. Rubyの識別子ルール
4. Rubyの識別子ルール

最後に、Rubyの識別子に関するルールを整理しておきます。

  • 予約語は使えない(例: if, class, def
  • 組み込み定数は変更しない(例: RUBY_VERSION, STDIN
  • 変数名は小文字または_で始める
  • クラス名やモジュール名は大文字で始める
  • 日本語も使えるが、英語を使うのが望ましい

このルールを意識してプログラムを書くと、エラーを避けられ、他の人にも読みやすいコードになります。

まとめ

まとめ
まとめ

Rubyの予約語と組み込み定数は、プログラムを書くうえで必ず知っておくべき重要な知識です。予約語はRubyの文法として特別な意味を持つ単語であり、変数名やメソッド名として使用することはできません。もし誤って識別子として使おうとすると構文エラーになり、プログラムが正しく動かなくなってしまいます。予約語には、条件分岐で使うifelse、繰り返しで使うwhileuntil、クラス定義のclass、モジュール定義のmoduleなど、プログラムの骨組みを形成する多くのキーワードが含まれています。これらの役割を理解することで、Rubyのコードをより明確に読み書きできるようになります。 また、Rubyには最初から定義されている組み込み定数が多数存在し、実行環境や内部情報を取得するために役立ちます。RUBY_VERSIONRUBY_PLATFORMSTDOUTなどは頻繁に使われる定数で、プログラムの動作確認やログ出力など、さまざまな場面で活用できます。こうした組み込み定数はRubyの仕組みとして重要な役割を果たしているため、無理に変更すると予測できない不具合を引き起こす可能性があります。 さらに、Rubyの識別子として使える文字や命名ルールを理解しておくことも、読みやすいコードを書くために欠かせません。変数名は小文字やアンダースコアから始まり、クラス名やモジュール名は大文字で始めるという基本ルールに従うと、Rubyらしいコードが自然に書けます。日本語の変数名も使える柔軟な言語ではありますが、チーム開発や大規模なプロジェクトでは英語を使う方が広く理解され、可読性も向上します。 プログラムを書く際に曖昧な識別子を使ってしまうと、動作が正しく機能しなかったり、予期しないエラーの原因になったりします。だからこそ、予約語や組み込み定数の一覧をしっかり把握し、適切な名前を選ぶことが大切です。Rubyでは自由度が高い一方で、文法上の決まりごとも明確に存在するため、それらを意識しながら命名していくと、ミスが少なく読みやすいコードに仕上げることができます。このまとめでは、予約語・組み込み定数・識別子ルールそれぞれの特徴と重要性を整理しましたが、実際にプログラムを書きながら、どの名前が使えるのか、どの単語は特別な意味を持つのかを確かめる習慣をつけることで、より深い理解につながります。

サンプルプログラムで識別子のルールを確認する

ここでは、予約語が使えない例、組み込み定数を確認する例、そして正しく命名した識別子の例をあわせて紹介します。Rubyの基本ルールを実際のコードで確認することで理解が深まり、今後の命名ミスも防ぎやすくなります。


# ❌ 予約語を変数名に使うとエラーになる例
# def = 10  # SyntaxError

# ○ 有効な変数名(英語・日本語どちらも可)
user_name = "たろう"
年齢 = 18

puts user_name
puts 年齢

# 組み込み定数を使ってRubyの環境情報を確認する
puts "Rubyバージョン:#{RUBY_VERSION}"
puts "プラットフォーム:#{RUBY_PLATFORM}"

# 正しいクラス名(先頭は大文字)
class User
  def initialize(name)
    @name = name
  end

  def show
    puts "ユーザー名:#{@name}"
  end
end

user = User.new("花子")
user.show

このサンプルでは、Rubyの識別子に関する基本ルールが自然に確認できます。予約語を変数名として使えば構文エラーになりますが、英語や日本語の一般的な単語は問題なく利用できます。また、Rubyのバージョンや実行環境を調べるために使用する組み込み定数は、そのままの値として参照するのが基本であり、変更は避けるべきです。さらに、クラス名の先頭を大文字にするというRubyの命名規則に従うことで、他のプログラマーにも意図が伝わりやすいわかりやすいコードになります。 Rubyを書くうえで重要なのは、文法のルールを守りつつ、自分や他の人が読みやすい名前を選ぶことです。識別子はただの「名前」ではなく、プログラムの可読性や品質に大きく影響します。予約語や特別な定数に気を付けながら適切な名前を選べば、エラーの少ない、整ったRubyコードが自然と書けるようになります。ルールに慣れていくことで、より直感的で効率的なプログラミングができるようになります。

先生と生徒の振り返り会話

生徒

「予約語ってメソッドや変数名に使えないんですね!よく見かける単語ばかりだから、最初は普通の名前だと思っていました。」

先生

「ええ、予約語はRubyにとって特別な役割を持つ言葉なので、使い方には注意が必要です。でも、一度覚えてしまえば自然と避けられるようになりますよ。」

生徒

「組み込み定数もたくさんあるんですね!RUBY_VERSIONなんて普段意識したことがなかったのでびっくりしました。」

先生

「組み込み定数はRuby内部の情報を見るときにとても便利です。覚えておくと動作確認のときなどに役立ちますよ。」

生徒

「識別子の命名ルールも整理されてわかりやすかったです。とくにクラス名は必ず大文字で始める理由が理解できました!」

先生

「その調子です。Rubyの命名規則をきちんと守ることで、自分にも他の開発者にもわかりやすいコードになりますからね。」

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説
No.8
Java&Spring記事人気No8
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう