更具体地说,完整的错误是
../../Scripts/LuaTest.lua:1:'ï'附近的意外符号
我LuaTest.lua用不同的编辑器检查了文件,包括Notepad ++,找不到任何额外/隐藏的字符.我对可能导致这种情况的原因感到茫然.
旁注,我正在遵循本指南:Godpatterns:用C#编写Lua脚本
这是主要的代码块:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
另外,这是 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.");
Run Code Online (Sandbox Code Playgroud)
这可能是由某些文本编辑器放置在Unicode文本文件开头的字节顺序标记引起的.BOM的字节包括0xEF,它是ï(带有变音符号的latin小写字母i)的ISO 8859-1字符代码.
所以你的猜测是正确的,那里有隐藏的字符.配置文本编辑器以在编写文本文件时不使用BOM.
| 归档时间: |
|
| 查看次数: |
6097 次 |
| 最近记录: |