示例#1
0
 public static IEnumerable <string> GetVariableNames(IIndexedVariableStore variables)
 {
     return(Enumerable
            .Repeat("", variables.Count)
            .Select((value, index) => ItemVariable + index)
            .Concat(Enumerable.Repeat(nameof(IIndexedVariableStore.Count), 1)));
 }
示例#2
0
 public static SetVariableResult SetVariable(IIndexedVariableStore variables, string name, VariableValue value)
 {
     if (name == nameof(IIndexedVariableStore.Count) || name.StartsWith(ItemVariable))
     {
         return(SetVariableResult.ReadOnly);
     }
     else
     {
         return(SetVariableResult.NotFound);
     }
 }
示例#3
0
        public static VariableValue GetVariable(IIndexedVariableStore variables, string name)
        {
            if (name == nameof(IIndexedVariableStore.Count))
            {
                return(VariableValue.Create(variables.Count));
            }
            else if (name.StartsWith(ItemVariable))
            {
                var index = ParseIndex(name, ItemVariable.Length, name.Length);
                return(VariableValue.Create(variables.GetItem(index)));
            }

            return(VariableValue.Empty);
        }