Rubyの予約語とは
キーワードや予約語は、ある内部処理のために使用される、またはいくつかの事前定義されたアクションを表す言語内の単語です。
したがって、これらの言葉は、変数名やオブジェクト、定数として使用することはできません。
使用すると以下のように、コンパイル時にエラーが発生する可能性があります。
if = 3
if if < 7
puts "エラー出ますよ"
end
Error(s), warning(s):
source_file.rb:4: syntax error, unexpected ‘=’
if = 3
^
source_file.rb:13: syntax error, unexpected <
if if < 7
^
source_file.rb:15: syntax error, unexpected keyword_end, expecting end-of-input
エラーが出ます。
Ruby 予約語の一覧
Rubyには、以下のように合計41個のキーワードが存在します。
キーワード | 説明 |
__ENCODING__ | 現在のファイルのスクリプトエンコーディング。 |
__LINE__ | 現在のファイルにおけるこのキーワードの行番号。 |
__FILE__ | 現在のファイルへのパス。 |
BEGIN | 現在のファイル内の他のどのコードよりも前に実行される。 |
END | 現在のファイル内の他のコードの後に実行される。 |
alias | 2つのメソッド(およびその他のもの)の間に別名を作成する。 |
and | 短絡的なブール演算で、&&より優先順位が低い。 |
begin | 例外処理ブロックを開始する。 |
break | ブロックを終了する。 |
case | case文を開始する。 |
class | クラスを作成したり開いたりする。 |
def | メソッドを定義する。 |
defined? | 引数を記述した文字列を返す。 |
do | ブロックを開始する。 |
else | case式、if式、unless式におけるその他の条件。 |
elsif | if式の代替条件。 |
end | ブロックの終了点。クラス、モジュール、メソッド、例外処理、制御式で使用される。 |
ensure | 例外発生時に常に実行されるコードのセクションを開始する。 |
false | booleanにおける偽 |
for | eachメソッドを使うのと同じようなループ。 |
if | 条件式であるif文に使う。 |
in | forループ内で、反復可能なオブジェクトとイテレータ変数を分離するために使用する。 |
module | モジュールを作成したり、開いたりする。 |
next | ブロックの残りをスキップする。 |
nil | 通常、「値なし」または「不明」を示す偽の値。 |
not | booleanを反転させる。”!”よりも優先順位は低い。 |
or | 二つの条件式でどちらかが真であれば処理を行う。| |よりも優先順位は低い。 |
redo | 現在のブロックでの実行を再開する。 |
rescue | begin ブロックでコードの例外セクションを開始する。 |
retry | 例外ブロックを再試行する。 |
return | メソッドの戻り値を返す。省略可。 |
self | 現在のメソッドがアタッチされているオブジェクト。 |
super | 子クラスのインスタンスに対し親のクラスのメソッドを呼び出す。 |
then | 制御構造中の条件ブロックの終端を示す。 |
true | booleanにおける真。 |
undef | クラスまたはモジュールがメソッド呼び出しに応答しないようにする。 |
unless | 条件式であるunless式に使う。 |
until | 条件が真になるまで実行されるループを作成する。 |
when | case式に含まれる条件。 |
while | 条件が真の間、実行されるループを作成する。 |
yield | ブロック付きメソッドでブロックを呼び出せる。 |