New: Nitro Boost our Discord server and receive full donation perks here on the website! Join the Scripting Helpers Discord Server to learn more! You can also Support on Patreon as always.
Still have questions? Join our Discord server and get real time help.
Log in to vote

String Manipulations? "String." Question

Asked by 4 years ago

I'm a bit confused with String.(WhateverHere). What i'm confused of is the String part. I'm asking about:

string.len() --The string part
string.lower() -- The string part, Function doesn't matter, I'm showing it doesn't matter by showing two different functions

I've noticed I can do something like this:

    if string.lower(string.sub(msg,1,5)) == "load " then

and the script knows that the string is the message. Yet if I were to do something like this in a script:

for _,Map in pairs(MapTable) do
    if string.match(string.lower(string.sub(msg,6))) == string.lower(Map.Name) then

I'll be thrown an error because the script doesn't know the string it's looking for?

  • Can I be given an explanation on what it's doing?

  • Can't string be switched out with, well, a string?

1 answer

Log in to vote
Answered by
Unclear 1726 Moderation Voter
4 years ago

stringis a variable that implicitly refers to the built-in string library. You can check out the contents of the string library here.

Because it is a library, it is basically a table full of useful functions you can use to do things with strings. That is why you first refer to string, and then the name of a function you want to use from the string library.

However, do know that nearly all of the string functions are also available as methods you can use on strings. For example, you can do this:

local word          = "ABC"
local firstWay      = string.lower(word)
local secondWay     = word:lower()
print(firstWay == secondWay) --> true

Note: The reason why your code with match errored is because match requires two arguments. You only gave one. Read more about match here.

Oh, match is a tuple. alphawolvess 1699 — 4y

Answer this question