package builtins import ( "monkey/internal/object" "monkey/internal/typing" "os" ) // WriteFile ... func WriteFile(args ...object.Object) object.Object { if err := typing.Check( "writefile", args, typing.ExactArgs(2), typing.WithTypes(object.StringType, object.StringType), ); err != nil { return newError(err.Error()) } filename := args[0].(*object.String).Value data := []byte(args[1].(*object.String).Value) err := os.WriteFile(filename, data, 0755) if err != nil { return newError("IOError: error writing file %s: %s", filename, err) } return &object.Null{} }