The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

0 votes
var q = ["Test1","Test2"]
q[0].erase(0,3)
print(q[0])

Output: Test1

in Engine by (18 points)

1 Answer

+2 votes

q[0].erase(0,3) gets the value of q[0], not the reference to it, so doing anything with this value will not affect the value stored in the array itself.

This should work:

temp_string = q[0]
temp_string.erase(0,3)
q[0] = temp_string

(Replaces the array element with the changed string)

Or even simpler:

q[0] = q[0].substr(4)

(Does everything in one step, but needs a method with a return value)

by (1,732 points)
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 Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.