タグ

GoLangとluaに関するikeikeikeikeのブックマーク (2)

  • inforno :: GopherLuaを設定ファイルで使うライブラリを書きました

    モノとしてはGopherLuaのテーブルをGoの構造体にマップしてくれます。といっても、内部動作的にはHashicorpの mapstructure を使っているだけだったりします。一度GopherLuaのテーブルを map[string]interface{} に変換してあげて、あとはmapstructureにおまかせ。 ただ、一般的なLuaの命名規則Go命名規則が違うので名前を変換する関数が指定できます。デフォルトでは snake_case を CamelCase に変換します。 1type Role struct { 2 Name string 3} 4 5type Person struct { 6 Name string 7 Age int 8 WorkPlace string 9 Role []*Role 10} 11 12L := lua.NewState() 13if

  • inforno :: LuaのGo言語実装を公開しました

    LuaをGo言語のみで実装した GopherLua を公開しました。 詳しくはGithubのREADMEを見ていただくとして、特徴としては以下になります。 Lua5.1ベース 5.1の機能はほぼ実装済み Compiler, VMともに完全にGo言語のみで実装 引数の受け渡し以外でのスタック操作が不要で使いやすいAPI なぜ作ろうと思ったか もともとC言語でものを作るときにはLuaを設定ファイルの代わりとして取り入れていました。Goではあまり拡張言語実装がないので、jsonだったりiniだったりを設定ファイルとして使っていましたが、やっぱり微妙にめんどくさい。変数くらい欲しいなあ・・・とか。 結局、固い言語だけでモノを作るのは難しく、やわらかさが必要になるポイントがあります。そういうところはまず、「設定ファイル」として外だしされます。そしてその設定ファイルがどんどん肥大化したり複雑化したりし

  • 1