いわゆる関数みたいなもんです。
def メソッド名(arg,arg...)
:
end
引数の初期化もサポートされています。
def メソッド名(arg=.., arg=...)
:
end
引数として渡される数が不明なとき、
def メソッド名(arg, *arg)
と書くと、2つ目以降の引数が配列として*argに渡されます。
返値は、メソッドの最後に確定した値となりますが、明示するときなどは
return xxx
と書きます。個人的には明示する方が好きですが。
引数の前に & をつけると、メソッドにブロックを渡すことができます。
メソッド側は、.callでブロックを読み込みます。
def hoge(&ge)
ge.call()
end
hoge{p "hogehoge"}
どういうときに使うのがいいのかは、わかった時点で追記します。
メソッド定義を取り消します。
def hoge
...
end
undef hoge
式の種別を返します。メソッド限定ではありません。
def hoge
end
defined? hoge