|
You're not changing the string "blah", you're changing the variable myName (which is actually an entry in the global table). You can do a = 1; a = 2, overwriting a, because variables (both local and global) are mutable in Lua (unless you use <const>), however this won't change 1 to suddenly be 2. It works the same with strings - there is no way to change part of a string, changing the contents of all variables holding the string. Try e.g. a = "str" and b = "str", then overwrite a = "different str" - b hasn't changed, because strings are immutable. On 25.05.22 18:02, Duke Normandin wrote:
On Wed, 25 May 2022 16:48:08 +0200 Lars Müller <appgurulars@gmx.de> wrote:It doesn't say "Lua variables are immutable", /it says that strings are immutable like in Python/, which is the case - there is no way to change the value of a string, you can only create new strings. On 25.05.22 16:45, Duke Normandin wrote:Lua noob here! Reading Lua primer at learnxinyminures.com to start off with. It says that Lua variables are immutable like in Python. However, in the Lua REPL, I can change any value I set. Maybe I should be reading a more recent tutorial? TIA ...My mistake! However I set myName = 'blah' which is a string! Correct? I can then say myName = 'blah-blau' and no error message shows up. I'm missing something!