How could I get the full output of ~myobject.dump
? I have a Pbindef with a huge amount of variables and would like to know what is the current value of each one. The ouput ends with ...etc...
and I’m missing a few. Is there a way to get the full list of parameter:value pairs? Or a way to store it somewhere?
Pbindef(\x, *(Array.fill(50, { |i| [("a" ++ i).asSymbol, Pwhite(rrand(0, 9), rrand(10, 19), inf)] }).flat));
// nothing of interest
Pbindef(\x).dump;
Pbindef(\x).postcs;
// prints
Pbindef('x', 'a0', Pwhite(9, 10), 'a1', Pwhite(4, 11), 'a2', Pwhite(0, 10), 'a3', Pwhite(9, 15), 'a4', Pwhite(2, 18), 'a5', Pwhite(4, 16), 'a6', Pwhite(2, 13), 'a7', Pwhite(2, 16), 'a8', Pwhite(9, 15), 'a9', Pwhite(7, 18), 'a10', Pwhite(1, 13), 'a11', Pwhite(5, 10), 'a12', Pwhite(8, 14), 'a13', Pwhite(4, 12), 'a14', Pwhite(7, 19), 'a15', Pwhite(3, 12), 'a16', Pwhite(9, 10), 'a17', Pwhite(9, 12), 'a18', Pwhite(5, 12), 'a19', Pwhite(4, 17), 'a20', Pwhite(9, 17), 'a21', Pwhite(1, 10), 'a22', Pwhite(4, 17), 'a23', Pwhite(7, 17), 'a24', Pwhite(0, 15), 'a25', Pwhite(6, 10), 'a26', Pwhite(2, 18), 'a27', Pwhite(8, 17), 'a28', Pwhite(3, 16), 'a29', Pwhite(9, 11), 'a30', Pwhite(2, 14), 'a31', Pwhite(0, 18), 'a32', Pwhite(9, 19), 'a33', Pwhite(7, 16), 'a34', Pwhite(9, 19), 'a35', Pwhite(6, 10), 'a36', Pwhite(7, 18), 'a37', Pwhite(0, 18), 'a38', Pwhite(5, 18), 'a39', Pwhite(2, 16), 'a40', Pwhite(7, 11), 'a41', Pwhite(6, 13), 'a42', Pwhite(3, 14), 'a43', Pwhite(1, 18), 'a44', Pwhite(9, 18), 'a45', Pwhite(3, 13), 'a46', Pwhite(1, 19), 'a47', Pwhite(0, 11), 'a48', Pwhite(7, 10), 'a49', Pwhite(5, 16))
// or, investigate the data structure
// Pbindef(\x).dump shows a 'source'
Pbindef(\x).source.dump
// now we see 'pairs'
Pbindef(\x).source.pairs
// which seem to be interleaved 'key', 'value'
// so...
Pbindef(\x).source.pairs.pairsDo { |key, value|
[key, value].postcs;
};
hjh
1 Like
Beautiful. Just what I was looking for Thanks!