Difference between revisions of "Types"

(This doesn't work quite like how i'd want it to yet; should list all the pages from Category:Data_Types.)
 
(Rationalize the layout a bit)
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
  
 
== Types ==
 
== Types ==
{{#ask: [[Category:Types]] [[parent::love || parent::lua]] [[Concept:Current]]
+
=== Lua Types ===
| headers=hide
+
You can use the '''type''' function to get the type of a variable.
| format=template
+
{{param|nil||Denotes the lack of a value. Only 'nil' has the type 'nil'.}}
| template=ListingFields
+
{{param|boolean||Denotes a logical value. Can be 'true' or 'false'.}}
| introtemplate=ListingIntro
+
{{param|number||Denotes a double-precision floating-point value. Includes infinities and not-a-numbers.}}
| outrotemplate=ListingOutro
+
{{param|string||Denotes an array of characters; immutable.}}
| ?Description
+
{{param|table||Denotes a combined numerical-array and hash-table.}}
| ?PrettySince
+
{{param|function||Denotes a callable function.}}
| ?PrettyRemoved
+
{{param|userdata||Denotes arbitrary C data.}}
}}
+
{{param|thread||Denotes coroutines.}}
 +
=== Löve Types ===
 +
{{param|Object||Superclass of all Löve-specific types below.}}
 +
 
 +
Data
 +
{{param|Data||Superclass of the below types.}}
 +
{{param|CompressedData||Holds arbitrary compressed data.}}
 +
{{param|CompressedImageData||Holds compressed image data.}}
 +
{{param|FileData||Holds file data.}}
 +
{{param|FontData||Holds font data.}}
 +
{{param|GlyphData||Holds glyph data.}}
 +
{{param|ImageData||Holds image data.}}
 +
{{param|SoundData||Holds sound data.}}
 +
 
 +
Math
 +
{{param|BezierCurve||}}
 +
{{param|RandomGenerator||}}
 +
 
 +
Physics
 +
{{param|Body||}}
 +
{{param|Contact||}}
 +
{{param|Fixture||}}
 +
{{param|World||}}
 +
 
 +
 
 +
{{param|Shape||}}
 +
{{param|ChainShape||}}
 +
{{param|CircleShape||}}
 +
{{param|EdgeShape||}}
 +
{{param|PolygonShape||}}
 +
 
 +
 
 +
{{param|Joint||}}
 +
{{param|FrictionJoint||}}
 +
{{param|GearJoint||}}
 +
{{param|MotorJoint||}}
 +
{{param|MouseJoint||}}
 +
{{param|PrismaticJoint||}}
 +
{{param|PulleyJoint||}}
 +
{{param|RevoluteJoint||}}
 +
{{param|RopeJoint||}}
 +
{{param|WeldJoint||}}
 +
{{param|WheelJoint||}}
 +
 
 +
Thread
 +
{{param|Channel||}}
 +
{{param|Thread||}}
 +
 
 +
Graphics
 +
{{param|Cursor||}}
 +
{{param|PixelEffect||Deprecated version of Shader type.}}
 +
{{param|Shader||}}
 +
{{param|Quad||}}
 +
 
 +
 
 +
{{param|Drawable||}}
 +
{{param|Texture||}}
 +
{{param|Canvas||}}
 +
{{param|Framebuffer||Deprecated version of Canvas type.}}
 +
{{param|Image||}}
 +
 
 +
 
 +
{{param|Mesh||}}
 +
{{param|ParticleSystem||}}
 +
{{param|SpriteBatch||}}
 +
{{param|Text||}}
 +
{{param|Video||}}
 +
 
 +
Sound
 +
{{param|Decoder||}}
 +
{{param|Source||}}
 +
{{param|QueuableSource||}}
 +
 
 +
Filesystem
 +
{{param|File||}}
 +
 
 +
Fonts
 +
{{param|Font||}}
 +
{{param|Rasterizer||}}
 +
 
 +
Input
 +
{{param|Joystick||}}
 +
 
 +
Video
 +
{{param|VideoStream||}}
 +
 
 +
=== Semantic (Wiki) Types ===
 +
{{param|table|flat table|Denotes a combined numerical-array and hash-table that does not have any table values inside it.}}
 +
{{param|Variant||Can be a flat table, a boolean, a number, a string, or a LÖVE userdata.}}
 +
 
 +
=== Other ===
 +
LUBE
 +
{{param|ClientObject||}}
 +
{{param|ServerObject||}}
 +
Enet
 +
{{param|enet.host||}}
 +
{{param|enet.peer||}}

Revision as of 01:11, 19 November 2019

These are the data types that are used by this wiki; some of them are wiki-specific aggregates for clearer documentation reasons.

Types

Lua Types

You can use the type function to get the type of a variable.

nil
Denotes the lack of a value. Only 'nil' has the type 'nil'.
boolean
Denotes a logical value. Can be 'true' or 'false'.
number
Denotes a double-precision floating-point value. Includes infinities and not-a-numbers.
string
Denotes an array of characters; immutable.
table
Denotes a combined numerical-array and hash-table.
function
Denotes a callable function.
userdata
Denotes arbitrary C data.
thread
Denotes coroutines.

Löve Types

Object
Superclass of all Löve-specific types below.

Data

Data
Superclass of the below types.
CompressedData
Holds arbitrary compressed data.
CompressedImageData
Holds compressed image data.
FileData
Holds file data.
FontData
Holds font data.
GlyphData
Holds glyph data.
ImageData
Holds image data.
SoundData
Holds sound data.

Math

BezierCurve
RandomGenerator

Physics

Body
Contact
Fixture
World


Shape
ChainShape
CircleShape
EdgeShape
PolygonShape


Joint
FrictionJoint
GearJoint
MotorJoint
MouseJoint
PrismaticJoint
PulleyJoint
RevoluteJoint
RopeJoint
WeldJoint
WheelJoint

Thread

Channel
Thread

Graphics

Cursor
PixelEffect
Deprecated version of Shader type.
Shader
Quad


Drawable
Texture
Canvas
Framebuffer
Deprecated version of Canvas type.
Image


Mesh
ParticleSystem
SpriteBatch
Text
Video

Sound

Decoder
Source
QueuableSource

Filesystem

File

Fonts

Font
Rasterizer

Input

Joystick

Video

VideoStream

Semantic (Wiki) Types

table flat table
Denotes a combined numerical-array and hash-table that does not have any table values inside it.
Variant
Can be a flat table, a boolean, a number, a string, or a LÖVE userdata.

Other

LUBE

ClientObject
ServerObject

Enet

enet.host
enet.peer