ちょっと気になったこと
関数の仮引数に対して、呼び出し時の引数が少なくても問題ない。
> (function(x,y){})(10) NULL
でも、関数内で使われるとダメ。
> (function(x,y){y})(10) 以下にエラー (function(x, y) { : 引数 "y" がありませんし、省略時既定値もありません
関数実行時に引数の数をチェックしてないようだ。
仮引数の変数を評価したときに、オブジェクトが存在しなければエラーになるのかな?
ついでに、引数が多いとき。
> (function(x,y){})(10,10,10) 以下にエラー (function(x, y) { : 使われていない引数 (10)
代入先の仮引数がないからエラーになってる気がする。