NEVariables GetTableVariables(Table table) { var results = GetVariables(); for (var column = 0; column < table.NumColumns; ++column) { var col = column; // If we don't copy this the value will be updated and invalid var header = table.GetHeader(column); var colData = default(List<string>); var colDataInitialize = new NEVariableListInitializer(() => colData = Enumerable.Range(0, table.NumRows).Select(row => table[row, col]).ToList()); results.Add(NEVariable.List(header, $"Column {header}", () => colData, colDataInitialize)); } return results; }
public NEVariableList(string name, string description, Func<List<object>> listFunc, NEVariableListInitializer initializer = null) : base(name, description) { this.listFunc = listFunc; this.initializer = initializer; }