RS:Programación en LUA - Introducción
De TrenSimpedia
(→Introducción a LUA) |
(→Características generales) |
||
| (7 ediciones intermedias no se muestran.) | |||
| Línea 1: | Línea 1: | ||
| - | El lenguaje de programación usado por Rail Simulator para la gestión de la señalización se llama LUA. Es un lenguaje interpretado, ligero, cuyas variables no tienen tipo y sus datos sólo pueden ser lógicos, enteros, números con punto flotante o cadenas. | + | [[Imagen:Logo lua.gif|right]]El lenguaje de programación usado por Rail Simulator para la gestión de la señalización se llama LUA. Es un lenguaje interpretado, ligero, cuyas variables no tienen tipo y sus datos sólo pueden ser lógicos, enteros, números con punto flotante o cadenas. |
Para una descripción completa de la sintaxis usada por LUA, véase el [http://www.lua.org/manual/5.1/es/ Manual de Referencia de Lua 5.1] en el sitio web de [http://www.lua.org/home.html LUA.org]. | Para una descripción completa de la sintaxis usada por LUA, véase el [http://www.lua.org/manual/5.1/es/ Manual de Referencia de Lua 5.1] en el sitio web de [http://www.lua.org/home.html LUA.org]. | ||
| + | |||
| + | {{Mensaje_En_Curso}} | ||
| + | |||
| + | == Características generales == | ||
| + | |||
| + | LUA distingue mayúsculas y minúsculas, tanto en la referencia a variables y funciones como a los propios operadores del lenguaje. | ||
| + | |||
| + | Los comentarios se realizan con dos guiones seguidos (<code>--</code>): | ||
| + | |||
| + | (código) | ||
| + | |||
| + | -- comentario de una sola línea | ||
| + | (más código) | ||
| + | |||
| + | Si a continuación de los dos guiones no se encuentran dos corchetes abiertos (<code>--[[</code>), se considera que el comentario es el resto de la línea. En caso contrario, el comentario acaba cuando se encuentren dos guiones seguidos de dos corchetes cerrados (<code>--]]</code>). Su uso más usual es para desactivar funciones o bloques de código enteros. | ||
| + | |||
| + | --[[ este comentario abarca todo el código siguiente | ||
| + | (código que no se ejecutará) | ||
| + | (más código que no se ejecutará) | ||
| + | --]] | ||
| + | |||
| + | == Operadores == | ||
| + | |||
| + | === Operadores relacionales === | ||
| + | |||
| + | {{Cabecera_Tabla|ancho=40%}} | ||
| + | !Operador | ||
| + | !Símbolo | ||
| + | {{Fila_Tabla}} | ||
| + | |Igual que | ||
| + | |<code>a '''==''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Distinto de | ||
| + | |<code>a '''~=''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Menor que | ||
| + | |<code>a '''<''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Mayor que | ||
| + | |<code>a '''>''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Menor o igual que | ||
| + | |<code>a '''<=''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Mayor o igual que | ||
| + | |<code>a '''>=''' b</code> | ||
| + | {{Fin_Tabla}} | ||
| + | |||
| + | === Operadores aritméticos === | ||
| + | |||
| + | {{Cabecera_Tabla|ancho=40%}} | ||
| + | !Operador | ||
| + | !Símbolo | ||
| + | {{Fila_Tabla}} | ||
| + | |Suma | ||
| + | |<code>a '''+''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Resta | ||
| + | |<code>a '''-''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Producto | ||
| + | |<code>a '''*''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |División | ||
| + | |<code>a '''/''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Módulo | ||
| + | |<code>a '''%''' b</code> | ||
| + | {{Fila_Tabla}} | ||
| + | |Exponente | ||
| + | |<code>a '''^''' b</code> | ||
| + | {{Fin_Tabla}} | ||
| + | |||
| + | === Operadores de asignación === | ||
| + | |||
| + | {{Cabecera_Tabla|ancho=40%}} | ||
| + | !Operador | ||
| + | !Símbolo | ||
| + | {{Fila_Tabla}} | ||
| + | |Asignación | ||
| + | |<code>a '''=''' b</code> | ||
| + | {{Fin_Tabla}} | ||
| + | |||
| + | == Uso de variables == | ||
| + | |||
| + | Un nombre de variable puede contener letras, dígitos y caracteres de subrayado (''underscore''), siempre que no empiece por un dígito. | ||
| + | No hace falta declarar una variable antes de poder asignarle un valor. | ||
| + | |||
| + | Ejemplo: | ||
| + | |||
| + | <code>variable = 'valor'</code> | ||
| + | |||
| + | Por defecto las variables tienen ámbito global a todo el programa, si se quiere evitar esto hay que usar la palabra clave local. | ||
| + | |||
| + | Ejemplo: | ||
| + | |||
| + | <code>'''''local''''' variable = 'valor'</code> | ||
| + | |||
| + | == Declaración de funciones == | ||
| + | |||
| + | La sintaxis básica para declarar una función es: | ||
| + | |||
| + | '''''function''''' NombreFuncion () | ||
| + | --código | ||
| + | '''''end''''' | ||
| + | |||
| + | En el caso que se quieran especificar parámetros, deben separarse con comas: | ||
| + | '''''function''''' NombreFuncion (parametro1, parametro2) | ||
| + | --código | ||
| + | '''''end''''' | ||
última version al 23:27 14 abr 2009
El lenguaje de programación usado por Rail Simulator para la gestión de la señalización se llama LUA. Es un lenguaje interpretado, ligero, cuyas variables no tienen tipo y sus datos sólo pueden ser lógicos, enteros, números con punto flotante o cadenas.Para una descripción completa de la sintaxis usada por LUA, véase el Manual de Referencia de Lua 5.1 en el sitio web de LUA.org.
|
|
Este artículo o sección se encuentra en fase de desarrollo por parte de un contribuidor. Es posible que la información suministrada aquí no sea completa. Ampliándolo ayudarás a mejorar la TrenSimpedia, pero recuerda que alguien posiblemente ya tiene en mente completarlo.
|
Contenido |
Características generales
LUA distingue mayúsculas y minúsculas, tanto en la referencia a variables y funciones como a los propios operadores del lenguaje.
Los comentarios se realizan con dos guiones seguidos (--):
(código) -- comentario de una sola línea (más código)
Si a continuación de los dos guiones no se encuentran dos corchetes abiertos (--[[), se considera que el comentario es el resto de la línea. En caso contrario, el comentario acaba cuando se encuentren dos guiones seguidos de dos corchetes cerrados (--]]). Su uso más usual es para desactivar funciones o bloques de código enteros.
--[[ este comentario abarca todo el código siguiente (código que no se ejecutará) (más código que no se ejecutará) --]]
Operadores
Operadores relacionales
| Operador | Símbolo |
|---|---|
| Igual que | a == b
|
| Distinto de | a ~= b
|
| Menor que | a < b
|
| Mayor que | a > b
|
| Menor o igual que | a <= b
|
| Mayor o igual que | a >= b
|
Operadores aritméticos
| Operador | Símbolo |
|---|---|
| Suma | a + b
|
| Resta | a - b
|
| Producto | a * b
|
| División | a / b
|
| Módulo | a % b
|
| Exponente | a ^ b
|
Operadores de asignación
| Operador | Símbolo |
|---|---|
| Asignación | a = b
|
Uso de variables
Un nombre de variable puede contener letras, dígitos y caracteres de subrayado (underscore), siempre que no empiece por un dígito. No hace falta declarar una variable antes de poder asignarle un valor.
Ejemplo:
variable = 'valor'
Por defecto las variables tienen ámbito global a todo el programa, si se quiere evitar esto hay que usar la palabra clave local.
Ejemplo:
local variable = 'valor'
Declaración de funciones
La sintaxis básica para declarar una función es:
function NombreFuncion () --código end
En el caso que se quieran especificar parámetros, deben separarse con comas:
function NombreFuncion (parametro1, parametro2) --código end







