コード例 #1
0
        public Void VisitSetExpr(Expr.Set expr)
        {
            Resolve(expr.value);
            Resolve(expr.@object);

            return(null);
        }
コード例 #2
0
ファイル: Interpreter.cs プロジェクト: figo711/elizScript
        public object VisitSetExpr(Expr.Set expr)
        {
            object @object = Evaluate(expr.@object);

            if (!(@object is ElizInstance))
            {
                throw new RuntimeError(expr.name, "Only instances have fields.");
            }

            object value = Evaluate(expr.value);

            ((ElizInstance)@object).Set(expr.name, value);
            return(value);
        }