RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基本的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)
![Procを制する者がRubyを制す(嘘)](https://cdn-ak-scissors.b.st-hatena.com/image/square/8b7f10314f52352b576aa24850f2fa758f9c61c7/height=288;version=1;width=512/http%3A%2F%2Fmelborne.github.io%2Fassets%2Fimages%2Fbooks%2Frack_cover.png)