package main import ( "doll/internal/log" "os" lua "github.com/yuin/gopher-lua" ) func main() { // Init log subsystem. log.Init("info", os.Stderr) file := "example_data/02-test.lua" // Load the Lua script file. log.Infof("Loading %s", file) // We can execute script directly via L.DoFile("./example_data/02-test.lua") but in practice we'll get scripts as // strings - snippets from templates - so, testing/checking how it works is not use for project. luaCode, err := os.ReadFile(file) if err != nil { log.Fatalf("Error reading Lua file %s: %s", file, err) } log.Info("Creating new Lua state") L := lua.NewState() defer L.Close() log.Info("Evaluating Lua code") if err := L.DoString(string(luaCode)); err != nil { log.Fatalf("Error evaluating Lua code: %s", err) } } /* vim: set ft=go noet ai ts=4 sw=4 sts=4: */