Inspect: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(created page for Inspect)
 
m (specify that return value _could_ change if we updated inspect)
 
(4 intermediate revisions by 3 users not shown)
Line 7: Line 7:
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
string inspect ( mixed var )            
string inspect ( mixed var [, table options] )  
</syntaxhighlight>  
</syntaxhighlight>  


===Required Arguments===  
===Required Arguments===  
*'''var:''' A variable of any datatype.
*'''var:''' A variable of any datatype.
*'''options:''' A table of options. It is not mandatory, but when it is provided, it must be a table. For a list of options, see the [https://github.com/kikito/inspect.lua#options Inspect's GitHub page].


===Returns===
===Returns===
Always returns a string.
Always returns a string. The contents can change if we update the inspect library, so it is not expected to be consistent across Lua versions.


==Example==  
==Example==  
Line 21: Line 22:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local Table = {     
local Table = {     
     ["position"] = {position = {getElementPosition(localPlayer)},rotation = {getElementRotation( localPlayer )}},
     ["matrix"] = {position = {getElementPosition(localPlayer)},rotation = {getElementRotation( localPlayer )}},
     ["localplayer"] = getPlayerName(localPlayer),
     ["localplayer"] = getPlayerName(localPlayer),
}
}
local inspectedTblStr = inspect(Table)


addEventHandler("onClientRender",root,
addEventHandler("onClientRender",root,
     function( )
     function( )
         dxDrawText(inspect(Table),10,250)
        --> then draw the created string.
        --> Try to NOT use such functions under onClientRender, since it works with loops, and if we want to print a bigger table, it will drop some frames.
         dxDrawText(inspectedTblStr,10,250)
     end
     end
)
)
</syntaxhighlight>
</syntaxhighlight>
An example of what it should draw:
This is an example of what it should look like:
<pre>
[[File:InspectReturn.png|frame|none]]
{
  localplayer = "Loki",
  position = {
    position = { 2496.3908691406, -1669.853515625, 13.335947036743 },
    rotation = { -0, 0, 155.4147644043 }
  }
}
</pre>
</section>
</section>
==See Also==
==See Also==
{{Utility functions}}
{{Utility functions}}

Latest revision as of 22:04, 29 January 2020

This function returns human-readable representations of tables and MTA datatypes as a string.

Syntax

string inspect ( mixed var [, table options] )    

Required Arguments

  • var: A variable of any datatype.
  • options: A table of options. It is not mandatory, but when it is provided, it must be a table. For a list of options, see the Inspect's GitHub page.

Returns

Always returns a string. The contents can change if we update the inspect library, so it is not expected to be consistent across Lua versions.

Example

Click to collapse [-]
Client

This example draws the contents of a table and its data type:

local Table = {    
    ["matrix"] = {position = {getElementPosition(localPlayer)},rotation = {getElementRotation( localPlayer )}},
    ["localplayer"] = getPlayerName(localPlayer),
}
local inspectedTblStr = inspect(Table)

addEventHandler("onClientRender",root,
    function( )
        --> then draw the created string.
        --> Try to NOT use such functions under onClientRender, since it works with loops, and if we want to print a bigger table, it will drop some frames.
        dxDrawText(inspectedTblStr,10,250)
    end
)

This is an example of what it should look like:

InspectReturn.png

See Also