Lua Logo
Variables en Lua

¿Cuáles son variables?

Trabajamos con un ordenador y tenemos muchos valores para tener presente cuando los necesitamos más tarde. Estos datos serán almacenados en la memoria de ordenadores en un cierto lugar. Como este será hecho y donde esta memoria está localizada ... no tenemos que saber(conocer) este mientras trabajamos con LUA.
Sin embargo, para ser capaz de trabajar con estas variables más tarde les damos nombres. Con estos nombres recuperaremos los datos en cada vez los necesitamos.
nach obenVariables - Nombres


No importa como llamamos una variable. Sin embargo, hay algunas reglas de considerar.

  • Un nombre variable tiene que comenzar con una carta (carácter) o subrayar.
  • El mayúsculo y el minúsculo de un nombre de una variable son muy importantes: el player1 no es igual a Player1
  • Sólo caracteres, números subrayar son permitido.


nach obenVariables - Alcance de aplicación


Hay existencia de áreas, donde las Variables son vaild. Los motivos son diferentes pero es provechoso. En muchos lenguajes de programación hay sopes diferentes de la existencia de aplicación.

El LUA ofrece sólo dos (por suerte).

  • Global
  • Local


Los Globalvariables existen en todas partes.

Las variables locales sólo existen en el bloque donde ellos han sido creados y ellos existen mientras el bloque es activo. Sólo tenemos que considerar una excepción. Este será explicado en el capítulo " Functions ".

Algo sobre bloques:

En el lenguaje de programación LUA todo será hecho dentro de bloques. Ellos comienzan con una declaración, seguida de un bloque de asignaciones y finalmente la palabra "final" (otra vez con una excepción; explicado más tarde). Los bloques también pueden ser insertados y existiendo dentro de otros bloques.

A menudo encontraremos otra vez bloques. Sin embargo, trataré de visualizar la diferencia entre local y global.

Imagine una casa hecha del cristal. Usted puede mirar(examinar) el cristal en una dirección sólo. Desde fuera de ello no es posible para mirar dentro de la casa, que debería ser nuestro bloque. Las variables, llamadas como local dentro de nuestra casa del cristal, no pueden ser vistas desde fuera de la casa. Sólo las variables sin la palabra local delante de ello pueden ser vistas desde fuera de nuestra casa. Tales variables son llamadas globales.

Para el compilador una variable local será identificada, cuando esto tiene la palabra local delante de ello.

A propósito, local y end son dos de las palabras reservadas en LUA.



nach obenTipos (valores) de Variables


Las variables almacenan valores. Estos valores pueden ser de la clase diferente. Ellos pueden ser números, caracteres (cuerdas), condiciones (verdadero o falso) etc.

Allí existen:


  • Nil (nada) (vacío) (no existiendo)
  • números
  • charcacters (cartas, palabras, etc.)
  • condiciones (verdaderas/falsas) (sí/no) (1/0)
  • funciones (como caso especial de un bloque)

Dos otros existen, pero arriba mencionado debería ser bastante para este momento.

nach obenNIL

Incluso no hay casi nada para contar sobre la NIL, somos felices que esto existe. Cada vez queremos trabajar con una variable que no existe, recuperaremos la NIL de valor. Nuestro ordenador no se estrella, no hará nil extraño o seguirá en el error.

Si queremos suprimir una variable, adjudicamos(asignamos) la nil de valor a esta variable. Ahora, nuestra variable no existe más.

Asignación:

Hasta ahora, hemos aprendido ya muchas variables. Pero no, como asignar o adjudicar(asignar) un valor a una variable. Cuando tenemos un valor ahora, haremos así


willi234 = nil

"El =" es llamado el operador de la asignación (asignación). Con este operador nuestra variable willv234 será adjudicada(asignada) a la NIL de valor. Nuestra variable ha sido suprimida.
nach obenNúmeros


Como cada uno sabe(conoce), necesitamos números para el cálculo. Por lo tanto este tipo es llamado "el número". Casi en todos los lenguajes de programación hay diferencias que existen en el tipo "number". En LUA, no tenemos ninguna diferencia.

Asignación:

_omasAlter = 74
willisIntelligenz = 105
meinGutHaben = -55.26
einHalbMalWurzel2 = 0.707107


¿Cuál es este código sobre?

  • Profesor universitario' usa una coma para el punto decimal de números. Use el punto.
  • Para usar números negativ (como mi equilibrio) usan un menos en el frente.
  • Asignación con el operador =
  • Notas diferentes de nombres para variables.


nach obenCaracteres (Cuerdas)

Sólo no tenemos números para trabajar con. Por ejemplo también queremos escribir algo en la pantalla. Para este fin tenemos realmente otro Tipo: "string"

Una cuerda es un encadenamiento de valores del ASCII (¿¿qué demonios es este???)

Hacerlo fácil: éstos son números también. Cuando los hemos rehusado como una cuerda, nuestro ordenador sabe que él tiene que contar con ellos.

Un carácter puede ser representado por un valor de número entero que es almacenado en la variedad de 0 a 255.

Por ejemplo: un carácter será almacenado y dentro de la memoria tenemos el número entero el número 56. Este es igual al carácter "D"

Para esta compilación el ordenador tendrá el acceso al ASCII [1 cuenta(proyecto de la ley,billete de banco) - mesa(tabla).

Un encadenamiento del número 76, 85, y 65 significará LUA después de la compilación.


Asignación:
ommasName = "Elfriede von der Heiden"
willisStammKneipe = 'Zum Treffpunkt'
varTyp1 = "function"
meineGeschichte = [[ geboren : ja Geburtsort : keine Ahnung ]]

¿Cuál es este código sobre?

Las cuerdas serán empotradas dentro de comillas. Usted puede usar la doble cotización(cita) así como la cotización(cita) sola (que será de benfit más tarde). Sin embargo, esto tiene que ser la misma clase de la cotización(cita) al principio y al final.

También podemos incluir el texto en [[ y ]]. Con estos soportes seremos capaces de seguir nuestro texto en una nueva línea.

Asignación con el operador =

Las cuerdas y los números pueden ser concadenados muy fácilmente. Para este fin tenemos que usar dos puntos. No tenemos que convertir el número en una cuerda.

Ejemplo:


print( "Player"..5 )


nach obenCondiciones


Con condiciones tenemos realmente un tipo de variable que sólo sabe(conoce) 2 condiciones. Este tipo es llamado "boolean" y puede ser designado de modos diferentes como mostrado encima. Con LUA usamos verdadero y falso.

Asignación (Asignación):

williBesoffen = true
omaBoese = false
williesFrauBoese = true

¿Cuál es este código sobre?
  • Una Asignación será hecha con las palabras reservadas true o false

nach obenFunciones

Las funciones son variables que hacen algo cuando los llaman. A menudo seremos contratados en la utilización de funciones más tarde.

Las funciones serán comenzadas cualquiera con


Cuenta = function()
-- o con
function Cuenta()

y ellos serán terminados con

end

Como mostrado encima, vemos que hay dos possibilites que existen para adjudicar(asignar) un valor al tipo "function" variable. Ambos son equivalentes.

Entre el principio y el final de una función hay bloque que describe lo que tiene que ser hecho.

Ahora, vendremos a la excepción de local.

Asunción: tenemos realmente un bloque que es una función global. Dentro de este bloque tenemos realmente una variable local, que será usada de esta función. Después de ejecutar este bloque la variable (local) todavía existe dentro de la función, pero sólo dentro de esta función.

Ejemplo:

do -- el Principio del bloque
local cnt = 1 -- adjudicado(asignado) para este bloque
function inc () -- creación de una función
cnt = cnt + 1 -- variable cnt será usado
return cnt -- devolver el valor para comprobación
end -- Final de función
end -- Final de bloque

print(inc()) --> Salida 2
print(cnt) --> Salida nil

Esta variable no es sólo una copia que será transferida a la función. El Apperently esto es la variable sí mismo, que vive en el twilightzone entre global y local.

(Mi) prueba, que esto no es una copia, pero la variable original:

do
local cnt = 1
function inc ()
cnt = cnt + 1
return cnt
end
cnt = 5 -- Valor será cambiado después de crear la función
end

print(inc()) --> Salida 6


nach obenTables
Las tables son variables que almacenan otras variables dentro de ellos.

Variable - table de Tipo

La variable de tipo "table" hace el funcionamiento con columnas más fácil. Tenemos el possibilty para arreglar nuestro caos o trayendo a la luz en el oscuro.;)

Este tipo de la variable nos contratará durante mucho tiempo. Primero de todo una breve perspicacia.

Asignación:


meinTable = {}

¿Cuál es este código sobre?

Ya sabemos(conocemos) el nombre y el operador para una asignación.

Una table será encerrada en { para el principio y } para el final.

En medio {y} podemos almacenar variables. En nuestro ejemplo no hay ningunos valores dentro {y}. Entonces tenemos una table vacía.

Un ejemplo corto sin explicación. No se preocupe, este seguirá más tarde.;)

Asignación:

meinTable = { 1, 4, "Willi", true, function() hacerAlgo end}
meinTable2 = { X= 255 , Y =10, velocity =88)

la lectura en voz alta los valores:

  • meinTable[1] -> 1
  • meinTable[2] -> 4
  • meinTable[3] -> "Willi"
  • meinTable[4] -> true
  • meinTable[5] -> function() hacerAlgo end
  • meinTable2.X -> 255
  • meinTable2.Y -> 10
  • meinTable2.velocity -> 88

Cuando podemos ver, hay dos clases diferentes de la existencia de mesas(tablas). Un con números y otro con nombres.
Uno más comentario: las tables pueden incluir otras tables como variables.
Dentro de la table no es esencial tener que buscar un arreglo bueno y apropiado cuando será fácil vivir con este caos dentro de una table.
Este era una introducción corta y breve de variables usadas para programar en LUA. Seguir previo con el aprendizaje de LUA, me gustaría (mejor tienen a) indicar(advertir) que hice un fraude. Un fraude sobre el camino escribo los nombres de variables.
Hemos aprendido que no tenemos ninguna limitación en el nombramiento de variables aparte de algunas restricciones.

Sin embargo, es aconsejable hacer un arreglo para este. Podemos imaginar muchos arreglos.


Mi propio arreglo:

La multiplicación de las informaciones contenidas en estos lados(costados) y los artes gráficos(los dibujos) está prohibida, de modo destripado(excluido) de eso es todo el código de manantial indicado en estos lados(costados).
Véase también: Fin de cerda de responsabilidad
Copyright © Robert Schmitz 2006