W tym wyzwaniu Twoim zadaniem jest stworzenie programu, który przyjmuje zagnieżdżoną tablicę i zwraca jednowymiarową spłaszczoną tablicę. Na przykład [10,20,[30,[40]],50]
powinien wyjść [10,20,30,40,50]
.
Wkład
Dane wejściowe będą tablicą zagnieżdżoną (np. [10,20,[[[10]]]]
). Będzie zawierać tylko liczby całkowite (zarówno ujemne, jak i dodatnie), łańcuchy i tablice. Możesz wziąć dane wejściowe jako argument funkcji, STDIN lub cokolwiek, co pasuje do twojego języka. Możesz założyć, że tablica wejściowa nie będzie pusta.
Wydajność
Dane wyjściowe będą płaską jednowymiarową tablicą z tymi samymi elementami tego samego typu, co w tablicy zagnieżdżonej i w takiej samej kolejności.
Przypadki testowe
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
Poproś o wyjaśnienia za pomocą komentarzy. To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
Uwaga: jeśli Twój język zawiera wbudowane narzędzie, NIE możesz go używać.
Edytować
Podaj także link do strony internetowej, na której można wykonać kod.
unflatten
pytanie, ale nie ma flatten
pytania o PPCG.
["[",[["[",],'[',"['['"]]
Jako przypadek testowy.
'
i "
jako ograniczników. (Ale zgadzam się, że to przypadek testowy udziałem [
, ]
, "
a \
wewnątrz łańcucha byłby przydatny.)