Recursion for Unnesting 1x1 Cell Array
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Qasim Hassan
el 11 de Abr. de 2019
Comentada: James Tursa
el 11 de Abr. de 2019
I have been getting continuous errors for reaching the maximum recursion limit when running various test cases for my function. Since unnesting a 1x1 cell array to get a string can usually be done by:
ca = {{{'math'}}}
while iscell(ca)
ca = ca{1}
end
out = ca
For recursion, I did this:
function out = doYouEverFeel(ca)
if ischar(ca)
out = ca
else
out = doYouEverFeel(ca{1});
end
end
Why is this not working?
0 comentarios
Respuesta aceptada
James Tursa
el 11 de Abr. de 2019
Editada: James Tursa
el 11 de Abr. de 2019
Are you sure it is a single quote char string 'example' and not a double quote string "another_example"? What is the actual error message displayed? Your recursion code will only work if the end result is always a char variable.
2 comentarios
James Tursa
el 11 de Abr. de 2019
Is your nested cell really more than 500 levels deep? I would rewrite your recursion function to instead simply use your while loop.
function out = doYouEverFeel(ca)
while iscell(ca)
ca = ca{1}
end
out = ca
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!