True when Dicts and Compounds are lists of the
same length and each element of Compounds is a compound term
whose arguments represent the values associated with the corresponding
keys in
Keys. When converting from dict to row, OnEmpty is
used to compute missing values. The functor for the compound is the same
as the tag of the pair. When converting from dict to row and the dict
has no tag, the functor row
is used. For example:
?- Dicts = [_{x:1}, _{x:2, y:3}],
dicts_to_compounds(Dicts, [x], dict_fill(null), Compounds).
Compounds = [row(1), row(2)].
?- Dicts = [_{x:1}, _{x:2, y:3}],
dicts_to_compounds(Dicts, [x,y], dict_fill(null), Compounds).
Compounds = [row(1, null), row(2, 3)].
?- Compounds = [point(1,1), point(2,4)],
dicts_to_compounds(Dicts, [x,y], dict_fill(null), Compounds).
Dicts = [point{x:1, y:1}, point{x:2, y:4}].
When converting from Dicts to Compounds Keys
may be computed by
dicts_same_keys/2.