「NeoLua」の版間の差分

40行目: 40行目:
                     clr.System.Console.WriteLine(s);
                     clr.System.Console.WriteLine(s);
                 ");
                 ");
            }
</source>
dynamic変数を使わない方法だとSetMemberValue()だのCallMember()などのメソッドを使う。
この場合のDoChunkは[[パスカル記法]]だ。
ついでにまったく関係ないことだがLuaでの文字列連結は「..」だ。
<source lang="csharp">
            using (var lua = new Lua())
            {
                var env = lua.CreateEnvironment();
                env.DoChunk(@"
                    name = 'foo';
                    function Hello()
                        return 'hello ' .. name;
                    end
                ","test.lua");
                var ret1 = env.CallMember("Hello");
                Console.WriteLine(ret1.ToString());
                env.SetMemberValue("name", "bar");
                var ret2 = env.CallMember("Hello");
                Console.WriteLine(ret2.ToString());
             }
             }
</source>
</source>