Difference between revisions of "Loadstring"
From GiderosMobile
(2 intermediate revisions by one other user not shown) | |||
Line 5: | Line 5: | ||
=== Description === | === Description === | ||
Gets the chunk from the given string. | Gets the chunk from the given string. | ||
− | < | + | <syntaxhighlight lang="lua"> |
(function) = loadstring(string,chunkname) | (function) = loadstring(string,chunkname) | ||
− | </ | + | </syntaxhighlight> |
− | To load and run a given string, use the idiom: | + | 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))()'' | ''assert(loadstring(s))()'' | ||
Line 21: | Line 22: | ||
=== Return values === | === Return values === | ||
'''Returns''' (function) compiled chunk as a function, otherwise returns nil<br/> | '''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)()