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.



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).



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:



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?



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?

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  = { 14"Willi"truefunction() hacerAlgo end}
    meinTable2 = { X= 255 , Y =10, velocity =88)

la lectura en voz alta los valores:


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