はじめに
rubyの予約語についてまとめたくなったので、予約語とその意味をまとめます。
予約語
予約語はクラス名、変数名などに用いることはできない。
ただし接頭辞$, @、@@が先頭についたものは予約語とは見なされない。
ruby リファレンス
予約語 | 意味 | 例 |
---|---|---|
BEGIN |
プログラムが実行される前に実行されるコードを定義。 | BEGIN { puts "プログラム開始前に実行" } |
END |
プログラムが終了する前に実行されるコードを定義。 | END { puts "プログラム終了前に実行" } |
alias |
メソッドや変数に対して別名を与える。 | alias new_name original_name |
and |
論理AND演算子。&& と同様だが、優先順位が異なる。 |
a = true and false |
begin |
例外処理の開始を示す。rescue と組み合わせて使用される。 |
begin # 例外が発生する可能性のあるコード rescue # 例外が発生した場合の処理 end |
break |
ループを終了。 | for i in 1..10 break if i > 5 end |
case |
複数の条件を評価する場合に使用される選択構造。 | case expression when value1 # 処理 when value2 # 処理 else # その他の処理 end |
class |
クラスを定義。 | class MyClass # クラスの内容 end |
def |
メソッドを定義。 | def my_method # メソッドの内容 end |
defined? |
式が定義されているかどうかを確認。 | puts defined?(some_variable) |
do |
ブロックを定義。do...end 構文で使用される。 |
[1, 2, 3].each do |number| puts number end |
else |
if , unless , case 構文の一部として、条件が成立しない場合の処理を定義。 |
if condition # 条件が真の場合の処理 else # 条件が偽の場合の処理 end |
elsif |
if 構文の一部として、複数の条件を評価する。 |
if condition1 # 処理 elsif condition2 # 処理 else # その他の処理 end |
ensure |
例外処理において、例外の発生有無に関わらず必ず実行される処理を定義。 | begin # 例外が発生する可能性のあるコード ensure # 必ず実行される処理 end |
false |
論理値の偽。 | false |
for |
ループ構文の一種。 | for element in collection # 各要素に対する処理 end |
if |
条件が成立する場合の処理を定義。 | if condition # 条件が真の場合の処理 end |
in |
for ループ構文の一部として使用される。 |
for element in collection # 各要素に対する処理 end |
module |
モジュールを定義。 | module MyModule # モジュールの内容 end |
next |
ループ内で次の反復に進むために使用される。 | for i in 1..5 next if i == 3 puts i end |
nil |
オブジェクトが存在しないことを示す。 | nil |
not |
論理NOT演算子。!と同様だが、優先順位が異なる。 | not true |
or |
論理OR演算子。||と同様だが、優先順位が異なる。 | a = false or true |
redo |
ループの現在の反復を再実行。 | for i in 0..5 retry if i > 2 end |
rescue |
例外が発生した場合の処理を定義。 | begin # 例外が発生する可能性のあるコード rescue # 例外が発生した場合の処理 end |
retry |
rescue 節内で使用して、再度begin 節から処理をやり直す。 |
begin # 例外が発生する可能性のあるコード rescue # 例外が発生した場合の処理 retry end |
return |
メソッドからの戻り値を指定。 | def my_method return value end |
self |
現在のオブジェクトを指す。 | self |
super |
親クラスのメソッドを呼び出す。 | class MyClass < ParentClass def my_method super end end |
then |
if やcase の条件式とその処理を区切るために使用される。省略可能。 |
if condition then # 条件が真の場合の処理 end |
true |
論理値の真を表す。 | true |
undef |
メソッドの定義を解除する。 | undef my_method |
unless |
条件が成立しない場合の処理を定義。if not と同等。 |
unless condition # 条件が偽の場合の処理 end |
until |
条件が成立するまでのループを定義。while not と同等。 |
until condition # 処理 end |
when |
case 構文の一部として、各条件を定義。 |
case expression when value1 # 処理 when value2 # 処理 end |
while |
条件が成立する間、ループを実行。 | while condition # 処理 end |
yield |
メソッドからブロックに制御を渡す。 | def my_method yield end my_method { puts "ブロックが実行されました" } |
__LINE__ |
現在のソースコードの行番号を返す。 | puts __LINE__ |
__FILE__ |
現在のソースファイルの名前を返す。 | puts __FILE__ |
__ENCODING__ |
現在のソースファイルのエンコーディングを返す。 | puts __ENCODING__ |
まとめ
調べれば分かりますが、知っておけばその分、処理を考えるときの材料が増えます。