21 lines
567 B
Text
21 lines
567 B
Text
function makenested(list)
|
|
nesting = 0
|
|
str = isempty(list) ? "[]" : ""
|
|
for n in list
|
|
if n > nesting
|
|
str *= "["^(n - nesting)
|
|
nesting = n
|
|
elseif n < nesting
|
|
str *= "]"^(nesting - n) * ", "
|
|
nesting = n
|
|
end
|
|
str *= "$n, "
|
|
end
|
|
str *= "]"^nesting
|
|
return eval(Meta.parse(str))
|
|
end
|
|
|
|
for test in [[], [1, 2, 4], [3, 1, 3, 1], [1, 2, 3, 1], [3, 2, 1, 3], [3, 3, 3, 1, 1, 3, 3, 3]]
|
|
result = "$test => $(makenested(test))"
|
|
println(replace(result, "Any" => ""))
|
|
end
|