Lightroom SDK: Luaとの差異
ちょっとだけLua自体を勉強してわずかにパワーアップしたところで、またLightroom SDKのGuideに戻ります。
namespace
どうもnamespaceって概念はLua自体にはないみたい。Lightroomでは、いくつかの関数を定義したテーブルを「Namespace」と呼んでいるそうな。Lua5.1にはmoduleという概念があるけれども、それとは関係ない。
built in functionであるimport()は、Lightroom SDKで定義しているnamespaceにアクセスする手段。
プラグイン側であたらしいnamespaceは作れない(というのは、正確にどういう意味なのかまだ理解できてない)
class, object
クラスもオブジェクトも、Luaの言語仕様にはなくて、Lightroom SDKの用語。実態はテーブル。 namespace同様、classもプラグインで新しくつくることはできない。ってこれも、どうやって「できなく」しているのかが理解できてません。
Lua組み込み機能
Lua5.1の機能がすべて使えるわけじゃない。collectgarbage(), getmetatable(), module()なんてあたりは使えない。