ブロックとクロージャ
Rubyのブロックとは
ブロックっていうのは引数とは別で、命令の塊です。
以下のようなものがブロックです。
do end
{ }
do~~~endは複数行、{ }は一行の時に使うことが慣習としてあるようです。
ちなみにブロックだけでは、存在することができません。
"文字列、Stringは存在できます。"
do "ここはブロックの中です。" "ブロックは命令の塊です。" end
ブロックだけでは存在できません。
が、以下のコードでオブジェクトにすることができます。
Proc.new { } proc { } lambda { }
返り値に手続き型オブジェクトを返します。
あと、これは無名関数だそうです。(あんまわからない。)
no_name_function = proc { p "無名関数だよ!" p "ラベリングされているだけで名前はないよ!" }