【问题标题】:lua:1: unexpected symbol near 'ï'lua:1: 'ï' 附近的意外符号
【发布时间】:2012-10-23 20:28:21
【问题描述】:

更具体地说,完整的错误是

../../Scripts/LuaTest.lua:1: 'ï' 附近出现意外符号

我用不同的编辑器检查了LuaTest.lua 文件以包含 Notepad++,但找不到任何额外/隐藏的字符。我不知道可能导致这种情况的原因。
旁注,我正在关注本指南:Godpatterns: Scripting with Lua in C#

这里是主要代码块:

class Program
{
    static void Main(string[] args)
    {
        Lua lua = new Lua();
        Program program = new Program();

        // register our C# functions
        lua.RegisterFunction("DanSays", program, program.GetType().GetMethod("DanSays"));
        lua.RegisterFunction("ThorSays", program, program.GetType().GetMethod("ThorSays"));

        lua.DoFile("../../Scripts/LuaTest.lua");
        Console.ReadLine();
    }

    public void DanSays(string s)
    {
        Console.WriteLine("Dan Says > " + s);
    }
    public void ThorSays(string s)
    {
        Console.WriteLine("Thor says > " + s);
    }

}

另外,这里是LuaTest.lua

DanSays("Hey, Thor!");
ThorSays("Hi Dan! You know Thursdays . . . ");
DanSays("*sigh* yeah, Thor, I know Thursdays.");
ThorSays("Named after me you know!");
DanSays("Yeah, I know.");

【问题讨论】:

    标签: c# lua


    【解决方案1】:

    这可能是由某些文本编辑器将Byte Order Mark 放置在 Unicode 文本文件的开头引起的。 BOM 的字节包括 0xEF,即 ï 的 ISO 8859-1 character code(拉丁文小写 i 和变音符号)。

    所以你的猜测是正确的,那里有个隐藏字符。将您的文本编辑器配置为在编写文本文件时使用 BOM。

    【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2013-01-16
    • 2020-09-14
    • 2023-03-27
    • 2022-10-13
    • 2015-09-24
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多