外部ファイルから Lua テーブルを読む

839 views
Skip to first unread message

token

unread,
Dec 5, 2010, 7:51:54 AM12/5/10
to 日本コロナの会
アプリで使用する固定のデータを 別ファイルに Lua テーブルの形でもっておいて、実行時に dofile()か何かで読み出そうとしていたのです
が、今日はじめて Corona SDK では dofile() などが使えないことを知りました。

http://developer.anscamobile.com/content/changes-lua

たしかにサンプルプログラムたちも、すべて main.lua しか使っていないように見えます。

io.open() と file:read() などで自分でLuaテーブルを解析して読み込むしかないでしょうか?

とりあえず Luaテーブルを main.lua に書いておけばよいのですが。


また、話は変わりますが Corona Project Manager なるものがあるということを今日知りました。

http://coronaprojectmanager.com/

こちらを使っておられる方がおられましたら感想など教えていただけるとありがたいです。

以上、よろしくお願いします。

keisuke kimura

unread,
Dec 6, 2010, 3:46:28 AM12/6/10
to 日本コロナの会
tokenさん

木村@muxukeikeiです。

別ファイルのLuaテーブルの読み込みについてですが、requireを使うことによって解決できます。
サンプルソースを用意してみました
data.lua => http://codepad.org/YhtJ08n7
main.lua => http://codepad.org/SDH5iC7c

data.luaにテーブルが記述されており、
main.luaでdata.luaからテーブルを読みだしてprintしています。

アクセス方法は二通りありまして、
tableをグローバルにして直接読み出すか、
tableをlocalにしてsetterをつくって読み出すかの二通りです。

両方共サンプルとして記述してあるので読んでみてください

coronaprojectmanagerは今度購入する予定です
(学生にはこの金額は辛い・・・)

購入しましたら別スレッドを立ててご報告します。

わからないことがありましたらいつでもご連絡をどうぞ

来月になったら3本ぐらい一気にアプリをリリース予定の木村でした

token

unread,
Dec 6, 2010, 10:26:21 AM12/6/10
to 日本コロナの会
ありがとうございます。確かにうまくいきました。

なぜうまくいくのかわからなかったのですが、プログラミング言語Lua公式解説書P178のモジュールの説明を読むと、
module(..., package.seeall)
がポイントなのですね。まだよくわかっていないので後ほどちゃんと読んでみます。

しかしおかげでデータとプログラムを分離できました。
Reply all
Reply to author
Forward
0 new messages