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.
unflattenpytanie, ale nie ma flattenpytania 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.)