Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2010-03-24

[iPhone][lua]iPhone上でLuaのHello Worldを実行

iPhoneのデバイス(実機)でLuaが実行できることを確認した。

難しいことはなかった。 lua-5.1.4をダウンロードしてsrc以下に含まれるソース(*.c, *.h)のうち以下を除くすべてをiPhoneアプリのプロジェクトに登録する。

  • Makefile
  • lua.c
  • luac.c

Luaのソースをプロジェクトに追加すると、以下のようなコードが実行できるようになるはず。

#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"

int hello(void)
{
    lua_State *lua = luaL_newstate();
    luaL_openlibs(lua);
    if(luaL_dostring(lua, "print(\"HELLO WORLD!\")")) {
        printf("エラー\n");
        return -1;
    }
    return 0;
}

luaL_dostringでLuaスクリプトを文字列として与えている。

initWithNibNameあたりからhello関数を呼び出せばデバッガのコンソールで「HELLO WORLD!」の表示が確認できる。 シミュレータでもデバイスでもどちらでも動いた。

なんてかんたん!