Luaとかいじってみる
Windowsから使いたかったんで、バイナリはLua@空想具現化プログラミングから頂いてきたもので。とりあえずインタプリタ兼対話環境、バイトコードコンパイラとかあります。
C:\hoge\docs\lua\hoge>lua Lua 5.1.2 Copyright (C) 1994-2007 Lua.org, PUC-Rio > print "Hello!" Hello!
ほんでLuaの特徴の一つとしてC言語に組み込んで使うと便利、というのもあるらしい。
とりあえず最初に示したサイトのアーカイブ中のlibファイルとsrc以下のlua.h, luaconf.h, lualib.h, lauxlib.hをコード書くディレクトリにコピーしてきてテストする。
#include "lua.h" #include "lualib.h" int main(int argc, char **argv) { lua_State *state = lua_open(); luaopen_base(state); lua_pushstring(state, "print"); lua_gettable(state, LUA_GLOBALSINDEX); lua_pushstring(state, "Hello World!"); lua_call(state, 1, 0); lua_close(state); return 0; }
C:\hoge\docs\lua\hoge>cl test.c LuaLib.lib Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. test.c Microsoft (R) Incremental Linker Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. /out:test.exe test.obj LuaLib.lib C:\hoge\docs\lua\hoge>test Hello World!
できた。なんかまあこれだけだとputsしろよって話ですけど。ガベコレとか連想配列とかが普通にある言語なので、なんか楽になるような気もする。あとコルーチンとか嬉しいのかな。コルーチンてなんのことかよく知らんのだけど。
http://uri.sakura.ne.jp/~cosmic/yuno/lab/lua5_manual_ja.html#coroutine
ほう。