miller/c/stdlib.mlr
2017-04-14 07:23:24 -04:00

37 lines
493 B
Text

func mymapsum(map a, map b): map {
for (k in b) {
if (!haskey(a, k)) {
a[k] = b[k];
}
}
return a;
}
func mymapdiff(map a, map b): map {
for (k in b) {
if (haskey(a, k)) {
unset a[k]
}
}
return a;
}
func myleafcount(map m) : int {
int sum = 0;
for (k in m) {
sum += 1;
if (ismap(m[k])) {
sum += leafcount(m[k])
}
}
return sum;
}
func mylength(map m) : int {
int sum = 0;
for (k in m) {
sum += 1;
}
return sum;
}