OOP in Lua: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 18: Line 18:


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local environment = {}
local array = {}
function environment:example (argument)
function array:example (argument)
return "Hello"
return "Hello"
end
end
</syntaxhighlight>
</syntaxhighlight>
What we do upon above is defining a ''local'' environment and then declaring the function '''example''' as part of it.
What we do upon above is defining a ''local'' environment and then declaring the function '''example''' as part of it.
Alright, so how should we proceed in order to call the mentioned function? As follows:
<syntaxhighlight lang="lua">
array:example()
array.example(array, example)
</syntaxhighlight>
As Lua is so cool, we're able to call a function using two methods: "''':'''" and "'''.'''". As you can see on the example above, if we use a dot we're supposed to send '''self's value''' to the function. Yes, that's right, and in case use a colon, self's value will be the environment within which we are executing a code, i.e. '''array'''.

Revision as of 01:51, 18 January 2015

This content is not concluded yet.


This template is no longer in use as it results in poor readability.

This is a scripting tutorial that teaches you how to start using an Object-Oriented developing interface with Lua.

Glossary

  • environment: either a table or an array containing values.

Initialising

There is a basic and simple predefined variables we should recognize and know: self. Which refers to the environment within which we are executing a code.

Our first environment

local array = {}
function array:example (argument)
	return "Hello"
end

What we do upon above is defining a local environment and then declaring the function example as part of it.

Alright, so how should we proceed in order to call the mentioned function? As follows:

array:example()
array.example(array, example)

As Lua is so cool, we're able to call a function using two methods: ":" and ".". As you can see on the example above, if we use a dot we're supposed to send self's value to the function. Yes, that's right, and in case use a colon, self's value will be the environment within which we are executing a code, i.e. array.