●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyの定数(Constant)とは?値を固定するための書き方と使い方

Rubyにおける定数(Constant)は、変更しない予定の値を保持するための変数です。 他の変数とは異なり、すべて大文字で名前を定義するというルールがあります。

定数の基本

TAX_RATE = 0.1
puts TAX_RATE  # → 0.1

TAX_RATE のように、英字の大文字から始まる名前が定数として扱われます。 Rubyでは定数も実際には変更できますが、変更しようとすると警告が出ます

定数の再代入について

PI = 3.14
PI = 3.1415  # → warning: already initialized constant PI

このように、定数に値を再代入すると実行はできるものの警告(warning)が表示されます。 「定数は変えないもの」として設計するのが前提です。

定数のスコープ(有効範囲)

GREETING = "こんにちは"

class Hello
  def self.say
    puts GREETING
  end
end

Hello.say  # → こんにちは

定数は定義されたスコープ内で有効ですが、外部の定数も参照可能です。

クラス内での定数

class Circle
  PI = 3.14

  def self.area(radius)
    PI * radius * radius
  end
end

puts Circle.area(5)  # → 78.5

このように、クラスやモジュール内でも定数を定義できます。 呼び出すときは クラス名::定数名 でアクセスできます。

::演算子でアクセスする

module Config
  VERSION = "1.0"
end

puts Config::VERSION  # → 1.0

定数は ::(スコープ演算子) を使ってモジュールやクラスからアクセスできます。

定数と大文字の変数の違い

Rubyでは「大文字で始まる変数」はすべて定数とみなされます。 一度代入された値を原則変更しない前提で使う点が、普通の変数との最大の違いです。

定数の使いどころ

  • 税率や利率など、変わらない値の管理
  • 設定値、バージョン番号などの管理
  • 複数のクラスやモジュールで共通利用する値

定数の列挙(Module.constants)

module MyApp
  NAME = "ツール"
  VERSION = "2.0"
end

puts MyApp.constants.inspect
# → [:NAME, :VERSION]

モジュールやクラスに定義された定数は constants メソッドで一覧取得できます。

まとめ

Rubyの定数(Constant)は、変更しない値を明示するための仕組みです。 全て大文字で定義され、スコープ演算子 :: を使って参照できます。

再代入は可能ですが警告が出るため非推奨です。 「変わらない値には定数を使う」ことを習慣にして、より安全で可読性の高いコードを目指しましょう!