入門 Lua プログラミング [Lua]
「入門 Lua プログラミング」を買ったので少し目を通しました。良い入門書なのですが、読んでいてちょっと気になった部分がありました。
「データの入っている最大のインデックス値は、table.getn(テーブル名)という関数で求めることができます」(p.25)
「え、それは…」と思って、読み進めると p.61 にちゃんと Lua 5.1 では # 演算子が推奨で getn は非推奨ということの記載があるのですが、では何で getn を先に紹介するのかははっきりと書いていません。
また generic for はp.99あたりで紹介されるのですが、それが出てきた後もサンプルプログラムのコーディングスタイルとしては一貫して for idx = 1, table.getn(t) do ... end なんですね。その一方で「Lua のバージョン4では、次のようにして標準関数の定義を追加してください」というのがあったりします。
思うに、多分著者の方は「適宜の事前定義を行えば Lua 4.0 以降で最大限互換性のあるコーディングスタイル」を採りたいという立場なんだと思います。
それはそれで見識だと思うのですが(ただ2007年に出版する入門者向けの本で本当に必要な立場か?というと疑問は残りますが)、そういうことはもうちょっと注意深く説明してくれないと、これを使って Lua を学習する人の間で必要じゃない場面で古い書き方をするようなスタイルが広まってしまわないかとちょっと心配に思いました。
コメント 0