Symfoware

Symfowareについての考察blog

luvi 実行ファイルに同梱されているファイルの取得

luviを試してみています。
luviでLuaプログラムをバイナリの実行形式に変換する

Bundle I/Oの使い方を調べてみました。
https://github.com/luvit/luvi


Bundle I/O



ファイルの一覧や、ファイルの内容を取得する組み込み関数が用意されているようです。
main.luaと同じ階層に「setting.txt」と言うファイルを用意。

適当に内容を記載しておきます。

・setting.txt


1
2
3
end




使い方のサンプルはこんな感じになりました。


  1. local bundle = require("luvi").bundle
  2. local files = bundle.readdir("")
  3. -- アプリケーションフォルダの内容を取得
  4. for key, value in pairs(files) do
  5.     print(key, value)
  6. end
  7. print('----')
  8. -- テキストの内容を取得し表示
  9. contentx = bundle.readfile('setting.txt')
  10. print(contentx)




実行結果。


$ ./luvi my_app
1    main.lua
2    setting.txt
----
1
2
3
end




最初、これは何が便利なんだろう?と思いましたが、真価を発揮するのは
実行形式に変換した時。


$ ./luvi my_app -o target
$ ./target
1    main.lua
2    setting.txt
----
1
2
3
end




実行形式に変換した際、main.luaと同じ階層のファイルも同梱されます。
この内容を取得したい場合は、bundleの機能を使用すると便利。

もちろん、ファイルの読み込みだけで書き込みは行えません。
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2016/02/16(火) 22:49:11|
  2. Lua
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<luvi luvを使用してhttp getリクエストを実行する | ホーム | luviでLuaプログラムをバイナリの実行形式に変換する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1842-4b6c3bbd
この記事にトラックバックする(FC2ブログユーザー)