85
print_variables(Variables) when is_list(Variables) ->
86
Variables2 = print_variables_prefixify(Variables),
87
lists:foreach(fun({Variable, ValueResult, Prefix}) ->
88
print_variable(Variable, ValueResult, Prefix)
92
print_variable(Variable, {value, Val}, Prefix) when is_atom(Variable) ->
93
io:format("~w~s=> ~p~n", [Variable, Prefix, Val]);
94
print_variable(Variable, Error, Prefix) when is_atom(Variable) ->
95
io:format("~w~s=> [e] ~p~n", [Variable, Prefix, Error]).
97
print_variables_prefixify(Variables) ->
98
MaxVarLength = print_variables_maxlength(Variables),
99
print_variables_prefixify(Variables, MaxVarLength, []).
101
print_variables_prefixify([], _MaxVarLength, Acc) ->
103
print_variables_prefixify([{Var, Res}|Variables], MaxVarLength, Acc) ->
104
Prefix = make_variable_print_prefix(Var, MaxVarLength),
105
print_variables_prefixify(Variables, MaxVarLength,
106
[{Var, Res, Prefix}|Acc]).
108
make_variable_print_prefix(Var, MaxVarLength) ->
109
lists:duplicate(MaxVarLength - length(atom_to_list(Var)) + 1, $ ).
111
print_variables_maxlength(Variables) ->
112
print_variables_maxlength(Variables, 0).
114
print_variables_maxlength([], MaxLength) ->
116
print_variables_maxlength([{Var, _}|Variables], MaxLength) when is_atom(Var) ->
117
VarLen = length(atom_to_list(Var)),
119
VarLen > MaxLength ->
120
print_variables_maxlength(Variables, VarLen);
122
print_variables_maxlength(Variables, MaxLength)
84
126
print_tables(Tables) when is_list(Tables) ->
85
127
lists:foreach(fun({Table, DB, FOI, PrintRow}) ->
86
128
print_table(Table, DB, FOI, PrintRow)
90
%% print_table(Table, DB, FOI, PrintRow) ->
91
%% TableInfo = get_table(DB(Table), FOI(Table)),
92
%% print_table(Table, TableInfo, PrintRow),
95
132
print_table(Table, DB, FOI, PrintRow) ->
96
133
TableInfo = get_table(DB, FOI),
97
134
print_table(Table, TableInfo, PrintRow).
99
136
print_table(Table, TableInfo, PrintRow) when is_function(PrintRow, 2) ->
100
io:format("~w => ~n", [Table]),
137
io:format("~w =>", [Table]),
101
138
do_print_table(TableInfo, PrintRow).
140
do_print_table({ok, [] = _TableInfo}, _PrintRow) ->
141
io:format(" -~n", []);
103
142
do_print_table({ok, TableInfo}, PrintRow) when is_function(PrintRow, 2) ->
104
144
lists:foreach(fun({RowIdx, Row}) ->
105
145
io:format(" ~w => ~n~s~n",
106
146
[RowIdx, PrintRow(" ", Row)])
109
148
do_print_table({error, {invalid_rowindex, BadRowIndex, []}}, _PrintRow) ->
110
149
io:format("Error: Bad rowindex ~w~n", [BadRowIndex]);
111
150
do_print_table({error, {invalid_rowindex, BadRowIndex, TableInfo}}, PrintRow) ->