投稿

4月, 2015の投稿を表示しています

Luaでオブジェクト指向

FlashAirでも使ってみるかな?と思ってFlashAirについて調べてみたら、 FlashAir Developers のバージョンについての表ところに、 Luaスクリプト という見慣れない名前を発見した。 まあ、私が知らなかっただけなんですけどね。。。。 調べてみると、処理が高速で組み込み機器によく使われてるみたい。 日本語のドキュメントも milkpot.sakura.ne.jp.さんが翻訳 してくれているみたい。 とってもありがたいですな。 で、早速、ドキュメントを読んで挑戦しました。 リファレンスを読むと、言語仕様としてはとてもシンプルで、取っ付き易いです。 また、 WTOPIAさんがチュートリアル を書いてくれています。 実際にお勉強し始めると、ん???と思うな仕様もありました。 非一致の演算子が ~= になってるとか・・・テーブルに キー名を指定して値を定義するときに { "key" =val} じゃなくて { key =val} になってるとか・・・そのせいで、keyに変数を指定したい場合は{ [ var_key ] =val} みたいな表記になるとか・・・ で、オブジェクト指向を実現する方法を知らべてみると、テーブルを使うとか・・・ でも、決まった方法はないみたいですな。 (javascriptっぽい感じで実装するみたい?) いろいろな方法で、実現できるみたいなんだけど、メソッドをオーバーライドした時に、親のメソッドを参照するいい方法(javaのsuperみたいなの)を提案してるページを見つけられなかった・・・ なので、ちょっと考えてみた。。。 <追記> やっぱり以下の方法だと、メモリ食い過ぎちゃうので、 やり直し・・・ ところで、SyntaxHighlighterに Luaってあったかな? ・・・やっぱり、ありませんでした。。。 あきらめて、そのまま貼り付けますか・・・ highlight.js に切り替えました! -- SUPERクラス? function Human(name, age, sex) local self = {} -- プロパティ・メソッドを selfのテーブルに入れるスタイルにする self.n