public static IEnumerable <string> GetVariableNames(IIndexedVariableStore variables) { return(Enumerable .Repeat("", variables.Count) .Select((value, index) => ItemVariable + index) .Concat(Enumerable.Repeat(nameof(IIndexedVariableStore.Count), 1))); }
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); } }
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); }