0 votes

I am trying to get better with recursion, and one excercise I came upon was to revert a string. At first I was trying to solve this by any means possible, and my first code had ~50 lines. Step by step, improving it , and reading all the Google, I ended up with this:

func three(input):
if input == "":
    return input
else:
    return input[-1] + three(input.resize(len(input) - 1))

The only problem is - there's no resize function with strings. Alternatively, I've seen solutions doing "return everything but the last symbol".
Here's the best explanation: https://stackoverflow.com/questions/5532902/python-reversing-a-string-using-recursion

This is guy's code:

def backward(text):
if text == "":
    return text
else:
    return text[-1] + backward(text[:-1])

(Resembles something, huh?))
But. There's no "call everything but the last symbol" function/syntaxis in GDSript.

Or is there? Please, help.

asked Jul 10 in Projects by Dmitriy Romanov (15 points)

1 Answer

+1 vote
Best answer

I don't see why you need to resize the string. It's going to end up the same size isn't it?

Anyway, you want to usesubstr ( int from, int len ) and use 0 as from, and input len-1 as len, instead of input.resize(len(input) - 1)

answered Jul 11 by duke_meister (684 points)
selected Jul 11 by Dmitriy Romanov

Yeah, I'm blind. Was reading documentation top to bottom and bottom to top, but did not see that function. Thanks.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.