25 lines
853 B
Plaintext
25 lines
853 B
Plaintext
var data = %i(
|
|
12 127 28 42 39 113 42 18 44 118 44
|
|
37 113 124 37 48 127 36 29 31 125 139
|
|
131 115 105 132 104 123 35 113 122 42 117
|
|
119 58 109 23 105 63 27 44 105 99 41
|
|
128 121 116 125 32 61 37 127 29 113 121
|
|
58 114 126 53 114 96 25 109 7 31 141
|
|
46 13 27 43 117 116 27 7 68 40 31
|
|
115 124 42 128 52 71 118 117 38 27 106
|
|
33 117 116 111 40 119 47 105 57 122 109
|
|
124 115 43 120 43 27 27 18 28 48 125
|
|
107 114 34 133 45 120 30 127 31 116 146
|
|
).sort;
|
|
|
|
var stem_unit = 10;
|
|
var h = data.group_by { |i| i / stem_unit -> int }
|
|
|
|
var rng = RangeNum(h.keys.map{.to_i}.minmax);
|
|
var stem_format = "%#{rng.min.len.max(rng.max.len)}d";
|
|
|
|
rng.each { |stem|
|
|
var leafs = (h{stem} \\ [])
|
|
say(stem_format % stem, ' | ', leafs.map { _ % stem_unit }.join(' '))
|
|
}
|