Difference between revisions of "Loadstring"
From GiderosMobile
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | + | '''Available since:''' Gideros 2011.6<br/> | |
− | ''' | + | '''Class:''' [[(global)]]<br/> |
− | ''' | ||
− | === | + | === Description === |
− | + | Gets the chunk from the given string. | |
+ | <syntaxhighlight lang="lua"> | ||
+ | (function) = loadstring(string,chunkname) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Loadstring is used mainly by some scripts and by the majority of exploiting scripts. | ||
+ | It runs the ''string'' given inside its brackets as code. To load and run a given string, use the idiom: | ||
+ | |||
+ | ''assert(loadstring(s))()'' | ||
+ | |||
+ | Chunkname is used as the chunk name for error messages and debug information. When absent, chunkname defaults to the given string. | ||
− | + | === Parameters === | |
+ | '''string''': (string) string to load and compile<br/> | ||
+ | '''chunkname''': (string) is used as the chunk name for error messages and debug information '''optional'''<br/> | ||
− | + | === Return values === | |
− | < | + | '''Returns''' (function) compiled chunk as a function, otherwise returns nil<br/> |
− | ( | + | |
− | + | === Examples === | |
+ | <syntaxhighlight lang="lua"> | ||
+ | local test = loadstring("print('Hello world!')") | ||
+ | test() --> Hello world! | ||
+ | -- same as above | ||
+ | local test = loadstring("print('Hello world!')")() | ||
− | == | + | -- a calculator |
− | + | local mathStuff = "5+5*3" | |
− | + | local resultOfMath = loadstring("return "..mathStuff)() | |
+ | print(resultOfMath) | ||
− | = | + | -- run string as code |
− | + | local Code = "print('I love loadstrings!')" | |
+ | loadstring(Code)() | ||
+ | </syntaxhighlight> | ||
{{(global)}} | {{(global)}} |
Latest revision as of 15:34, 2 February 2025
Available since: Gideros 2011.6
Class: (global)
Description
Gets the chunk from the given string.
(function) = loadstring(string,chunkname)
Loadstring is used mainly by some scripts and by the majority of exploiting scripts. It runs the string given inside its brackets as code. To load and run a given string, use the idiom:
assert(loadstring(s))()
Chunkname is used as the chunk name for error messages and debug information. When absent, chunkname defaults to the given string.
Parameters
string: (string) string to load and compile
chunkname: (string) is used as the chunk name for error messages and debug information optional
Return values
Returns (function) compiled chunk as a function, otherwise returns nil
Examples
local test = loadstring("print('Hello world!')")
test() --> Hello world!
-- same as above
local test = loadstring("print('Hello world!')")()
-- a calculator
local mathStuff = "5+5*3"
local resultOfMath = loadstring("return "..mathStuff)()
print(resultOfMath)
-- run string as code
local Code = "print('I love loadstrings!')"
loadstring(Code)()