INNER CODE UNIT · Go
func
bbuck/dragon-mud · scripting/lua_engine.go:24
func (le *LuaEngine) DoString(code string) error {
return lua.DoString(le.state, code)
}
func (le *LuaEngine) Register(name string, fn any) error {
value := reflect.ValueOf(fn)
valueType := value.Type()
if valueType.Kind() != reflect.Func {
return fmt.Errorf("expected a function but received: %s", valueType.String())
}
// TODO: let's handle variadic functions later
argCount := valueType.NumIn()
var inputTypes []reflect.Type
for i := range argCount {
inputTypes = append(inputTypes, valueType.In(i))