Lua Logo
Funciones

¿Que sabemos ya de funciones? (si hemos leído hasta ahora todo)
  • Ellos tienen un nombre
  • Ellos tienen que ser llamados
  • Ellos exportan algo (si ellos son llamados )
  • Ellos hospedan un bloque (que puede existir de nuevo de bloques )
  • Ellos terminan con end
Ellos pueden también devolver algo. A esto usamos la palabra de llave return

return esteQueQuereDevolver

Se puede devolver también más de un luego parece así:

return esteQueQuereDevolver1, esteQueQuereDevolver2, esteQueQuereDevolver3, .....

  • return tiene que ser siempre la última palabra de llave antes de end sein.
  • return acaba la función
  • return puede (no tiene que ) devolver un valor .
  • El valor puede ser todo que conocemos
  • return puede estar en medio de una función (sin embargo siempre antes de end)


Si el traducido mira en el programa:

NombreDeUnaFuncion()

Luego él reconoce por las pinzas(horquillas) que debe tratarse aquí de una función que él tiene que exportar.

Él busca la función en su almacén(memoria) y si ella allí es él lleva(dirige) las instrucciones, allá en eso están pendientes.


Si él no la conoce, hay de nuevo uno

  • Error: (17) attempt to call global NombreDeUnaFuncion (a nil Value)
  • Falta: Llamar el intento(la tentativa) 'NombreDeUnaFuncion' (no hay)
¿Que esto puede tener para causas?
  • No la hay realmente
  • Hemos escrito mal el nombre
  • El traducido aún no la tiene eingelesen
Por lo demás: (17) arriba(encima), es el número de líneas en el cual esto ha pasado. Delante el fichero está además en ha pasado. En nuestro caso:
[string "Unit1.lua"] aún no tenemos umbenannt. Todo hacia su tiempo.


Esto lo era ya casi. Un falta todavía. Quisieras también entregar valores a la función.
Ahora una palabra nueva / vieja viene al juego

nach obenParameter

Lo hemos usado ya una vez es decir en la explicación como escribe mejor a variables. De ahí nosotros sabemos que ellos debían comenzar con un subrayaba.


Suponemos, tenemos una función los nombres Carrera tiene.
Como parámetros tenemos que entregarle

  • Quién debe correr(andar)
  • Adónde él debe correr(andar)
Luego es el llama de la función:


ACarrera("Angusk", positionHQ)

Miramos: Los parámetros que hemos separado se hacen con una coma uno de otro.

Luego la función misma parece así:

function ACarrera(_quien, _porDonde)

Ahora sabemos por el subrayaba dentro de toda la función que esto es un parámetro entregado. Tampoco cambiamos éste, dado que sin embargo nuestro sistema no echa mano.
Todavía un: Parámetros son dentro de la función local. Ellos pueden estar cambiados sólo allá y en los bloques en esta función angesprochen, y ser mirado. Si la función es acabada no la hay más. Ellos son nil.

Estaba ahora de funciones. El bloque hace todo otro en la función.

¿En realidad a pesar de todo no mucho? (viene todavía. En la combinación de todo)

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