No they don't. They work the same as other programming languages, the key difference is that Luau is not restrictive with it's variable types or table/array structure by default. You can fix this by setting the script to scrict mode or by limiting or defining table structuring. The other problem which people might think is an issue is the apparent loss of ordering. This is not an engine problem, it has to do with time of execution. This can be fixed by using indexes. This tutorial was poorly planned and has mistakes, so they look a lot harder than they actually are. It's ok to do things on the go but please, prepare beforehand to avoid misinterpretations because people watching these videos usually have little to no experience with programming.
Just looked at what strict mode was because I didn’t know, but I’m still a tiny bit uncertain of it’s uses. Is it just used when making classes and functions so you know what type each value/param should be every time? Or are there more uses of it?
@@haxking2352it makes the typing strict like in other languages like C, so you can't make a variable with type number and then assign a string to it or something like that
Not separating tables and maps is stupid. Not having an inbuilt. Length for maps is stupid. Meta tables are really dumb considering it doesn't trigger on assignment which, I guess that js meant for speed but it still could have been implemented
idk if anyone's said this but i personally reaaally like your thumbnails, especially how they have a dotted frame around it gives them a nice touch, they look cool !
i would like to bring up a problem, it will certainly print out the function with a index of 1, but you called the tableName.functionName() which doesnt exist anymore at 9:50
I really don't get the point of this video. They are not unecessarily complicated, they are only extremely flexible, and I find myself using this flexibility all the time.
4:29 its because the table names were written in alphabetical order, and three comes before two in that order since the "h" in "three" comes before the "w" in "two", hence why it looked like that!
Its not just Roblox though. Lua is just super open what you can do with arrays/dictionaries. Also just quick information for those confused about names: "Table" is just a higher order data type that arrays and dictionaries are based off. Arrays are "tables" that have numerical indices (usually implied, as in the first example). Dictionaries are "tables" that have strings as indices. You can also mix and match between index types, you can have some numbers, strings, etc.. However in Lua, you can place whatever you want as a key. Objects, other tables, functions, booleans, etc.. I believe these would be a form of dictionary.
12:17 why though? Will that make an apple turn red? What would you achieve by writing that? …. I want to see how things you write can be applied to the game.
How do you manage tables on a big Roblox Studio project? I want to know if it's possible to use dot notation for automatically created tables within a Module Script. Those tables are only filled up during run time, so what are my options here ByteBlox?
i really like watching your tutorials, i've always wondered how to do tables. it was the only thing i didn't know how to use for years. recently i discovered you and i wanted to ask if you could make a tutorial on tables but you already did it! thank you.
The reason it doesnt work at around 9:45 is because you are running a function FunctionName which does not exist as the string was changed to a number, imagine forgetting to change it I assume tableName[1] would work, but i really am not sure
Im trying to make a table with the players in the server and wanted it to print the first player that is listed, here is the script, pls tell me for corrections: local pla = game.Players:GetPlayers() local tab = { pla } print(tab[1])
@@emotionallydeprived1889Metatables are used for OOP and warning something does not exist to the player via probably UI (You don't know what exactly will contain in a table) or to make them fancy. That's it. So you should only understand the __index and __newindex metamethods. The rest is BS
buddy stop doing bad tutorials you're not born to teach this is an poor table tutorial, almost all ur tuts are bad you need to have responsability you're teaching new people how to be bad programmers
When you printed out the first value, print(tableName[1]), that told me exactly how to make a dialogue script for my shopkeeper!, heres the script i made, as i already have SOME experience with scripting. local hum = script.Parent:WaitForChild("Humanoid") local anim = Instance.new("Animation") local anim2 = Instance.new("Animation") local anim3 = Instance.new("Animation") local tableVar = {"hi!", "hello.", "hey! :3", "hi there. >:3", "i uh. broke the icecream machine again!!.. sowwy 3:", "hawoo!!! :3", "hihihihi welcome to me shop!!!! :3", "super funny text that you WONT see!!... or you will, idk! :3", "awh man... me icecream spill on ground... wutever!! i get other one!! >:3", "what would u like???? :3!!", "hai there!!!", "haaiii there!!! :3"} local messages = #tableVar anim.AnimationId = "rbxassetid://16393685271" anim2.AnimationId = "rbxassetid://16394153075" anim3.AnimationId = "rbxassetid://16394762243" local playanim = hum:LoadAnimation(anim) local playanim2 = hum:LoadAnimation(anim2) local playanim3 = hum:LoadAnimation(anim3) local numbertick = math.random(1, 10) local oldnumber wait(numbertick, print(numbertick)) playanim:Play() script.Parent.Head.Shout.Message.Text = tableVar[math.random(1, #tableVar or messages)] warn(script.Parent.Head.Shout.Message.Text) while script.Enabled == true do local funnynumber = math.random(1, #tableVar or messages) oldnumber = funnynumber wait(math.random(playanim.Length + 2, playanim.Length + 5)) playanim:Play() script.Parent.Head.Shout.Message.Text = tableVar[funnynumber] print(funnynumber or oldnumber) warn(script.Parent.Head.Shout.Message.Text) end. Thanks for all of the small tips! They still help!