コード例 #1
0
ファイル: Variable.cs プロジェクト: langpavel/LPS-old
 public override object Eval(IExecutionContext context)
 {
     if(IsInitializer)
     {
         context.InitVariable(Name);
     }
     object result = context.GetVariable(Name);
     if(result == SpecialValue.VariableNotSet)
         throw new VariableNotInitialized(Name);
     return result;
 }
コード例 #2
0
ファイル: DictionaryLibrary.cs プロジェクト: redxdev/DScript
 private static Dictionary<IValue, IValue> GetDictionary(IExecutionContext ctx)
 {
     return ctx.GetVariable("+object", false).Value.GetValue<Dictionary<IValue, IValue>>();
 }
コード例 #3
0
ファイル: LanguageLibrary.cs プロジェクト: redxdev/DScript
        public static IValue Set(IExecutionContext ctx, IList<IArgument> arguments)
        {
            var args = CommandUtilities.ManageArguments(arguments)
                .Exactly(2)
                .CanConvert<string>(0)
                .Results();

            ctx.GetVariable(args[0].GetValue<string>()).Value = args[1];

            return new GenericValue<bool>(true);
        }
コード例 #4
0
ファイル: VariableArgument.cs プロジェクト: redxdev/DScript
 protected override IValue Execute(IExecutionContext ctx)
 {
     return ctx.GetVariable(this.Variable).Value;
 }
コード例 #5
0
ファイル: LanguageLibrary.cs プロジェクト: redxdev/DScript
        public static IValue Get(IExecutionContext ctx, IList<IArgument> arguments)
        {
            var args = CommandUtilities.ManageArguments(arguments)
                .Exactly(1)
                .CanConvert<string>(0)
                .Results();

            return ctx.GetVariable(args[0].GetValue<string>()).Value;
        }