|
@@ -6,6 +6,7 @@ using Lua.Standard.Mathematics;
|
|
|
using Lua.Standard.Modules;
|
|
using Lua.Standard.Modules;
|
|
|
using Lua.Standard.OperatingSystem;
|
|
using Lua.Standard.OperatingSystem;
|
|
|
using Lua.Standard.Table;
|
|
using Lua.Standard.Table;
|
|
|
|
|
+using Lua.Standard.Text;
|
|
|
|
|
|
|
|
namespace Lua.Standard;
|
|
namespace Lua.Standard;
|
|
|
|
|
|
|
@@ -75,6 +76,10 @@ public static class OpenLibExtensions
|
|
|
SortFunction.Instance,
|
|
SortFunction.Instance,
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
|
|
+ static readonly LuaFunction[] stringFunctions = [
|
|
|
|
|
+ LenFunction.Instance,
|
|
|
|
|
+ ];
|
|
|
|
|
+
|
|
|
static readonly LuaFunction[] ioFunctions = [
|
|
static readonly LuaFunction[] ioFunctions = [
|
|
|
OpenFunction.Instance,
|
|
OpenFunction.Instance,
|
|
|
CloseFunction.Instance,
|
|
CloseFunction.Instance,
|
|
@@ -173,6 +178,17 @@ public static class OpenLibExtensions
|
|
|
state.Environment["table"] = table;
|
|
state.Environment["table"] = table;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public static void OpenStringLibrary(this LuaState state)
|
|
|
|
|
+ {
|
|
|
|
|
+ var @string = new LuaTable(0, stringFunctions.Length);
|
|
|
|
|
+ foreach (var func in stringFunctions)
|
|
|
|
|
+ {
|
|
|
|
|
+ @string[func.Name] = func;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ state.Environment["string"] = @string;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public static void OpenIOLibrary(this LuaState state)
|
|
public static void OpenIOLibrary(this LuaState state)
|
|
|
{
|
|
{
|
|
|
var io = new LuaTable(0, ioFunctions.Length);
|
|
var io = new LuaTable(0, ioFunctions.Length);
|