Browse Source

Fix: string.char

AnnulusGames 1 year ago
parent
commit
ad22f6ab07
1 changed files with 4 additions and 3 deletions
  1. 4 3
      src/Lua/Standard/Text/CharFunction.cs

+ 4 - 3
src/Lua/Standard/Text/CharFunction.cs

@@ -1,4 +1,5 @@
 
 
+using System.Text;
 using Lua.Internal;
 using Lua.Internal;
 
 
 namespace Lua.Standard.Text;
 namespace Lua.Standard.Text;
@@ -16,15 +17,15 @@ public sealed class CharFunction : LuaFunction
             return new(1);
             return new(1);
         }
         }
 
 
-        var strBuffer = new PooledArray<char>(context.ArgumentCount);
+        var builder = new ValueStringBuilder(context.ArgumentCount);
         for (int i = 0; i < context.ArgumentCount; i++)
         for (int i = 0; i < context.ArgumentCount; i++)
         {
         {
             var arg = context.GetArgument<double>(i);
             var arg = context.GetArgument<double>(i);
             LuaRuntimeException.ThrowBadArgumentIfNumberIsNotInteger(context.State, this, i + 1, arg);
             LuaRuntimeException.ThrowBadArgumentIfNumberIsNotInteger(context.State, this, i + 1, arg);
-            strBuffer[i] = (char)arg;
+            builder.Append((char)arg);
         }
         }
 
 
-        buffer.Span[0] = strBuffer.AsSpan().ToString();
+        buffer.Span[0] = builder.ToString();
         return new(1);
         return new(1);
     }
     }
 }
 }