(Referencia: https: //www.runoob.com/lua/lua-tutorial.html)
En primer lugar, la básica
1 Imprimir
imprimir ( " Hola " ) de impresión ( 123 )
El resultado:
hola
123
2 comentarios
- Línea de Marcos, comentario de una sola línea - [[ comentario de varias líneas MUCHOS Línea Marcos ]] -
3, la asignación de variables
- variables globales predeterminados de Imprimir (B) B = 10 Imprimir (B) HTML = [[ . 1A 2BC 3DEF 4G QWE ]] Print (HTML)
El resultado:
nil
10
1a
2bc
3def
4g
qwe
4, y el número de serie de conexión más
= A '1 ' B = 2 - + son por procesamiento digital de impresión (A + B) - Esta es la concatenación de cadenas de impresión (A .. B)
El resultado:
3.0
12
5, matrices, listas
--tab utilizado ya sea cuando la matriz, se puede usar como un mapa
- Lua subíndice 1 a partir de
tab1 = { " un " , " b " , " c " } para k en pares (tab1) hacer impresión (k .. " : " .. tab1 [k]) final
El resultado:
1: a
2: b
3: c
6, la circulación
- el valor inicial, el valor de corte, el tamaño de paso (por defecto 1.) Para I = 10 , 1. , - 2 do Imprimir (I) End - excepto pares, ipairs iteración puede ser A = { " Uno " , " DOS " , " Tres " } - Lua guión "on line", además del ";" en el punto y coma para I, V en ipairs (a) hacen Imprimir (I, V); Imprimir (I .. " : " . v.) Fin
El resultado:
10
8
6
4
2
1 uno
1: uno
2 dos
2: dos
3 tres
3: tres
7, si se determina
- 0是verdadero si ( 0 ) a continuación, imprimir ( " 0 es verdad " ) final num = 100 - si más的使用 si (num < 20 ) a continuación, imprimir ( " num <20 " ) más impresión ( " num> = 20 " ) final de impresión ( " valor num es: " , num) - 多重判断 - si el extremo continuación elseif then else
El resultado:
0 es cierto
num> = 20
valor num es: 100
8, la cadena de búsqueda
- 返回值startIndex, endIndex, se inicia 1 s, e = string.find ( " www.runoob.com " , " carrera " ) print (s, e)
El resultado:
5 7
En segundo lugar, la llamada de función
1, las funciones definidas, y llamadas
función max (num1, num2) si (num1> num2) entonces resultar = num1 otro resultado = num2 extremo retorno resultado final de impresión ( " el máximo es: " , max ( 10 , 4 )) de impresión ( " el máximo es: " , max ( 5 , 6 ))
El resultado:
el máximo es: 10
el máximo es: 6
2, como una función de los parámetros de transmisión
myprint = función (param) de impresión ( " Esta función de impresión es - ## " , PARAM, " ## " ) final función add (num1, num2, funcPrint) resultar = num1 + num2 funcPrint (resultado) final myprint ( 100 ) add ( 2 , 5 , myprint)
El resultado:
Esta es la función de impresión - ## 100 ##
Esta es la función de impresión - ## 7 ##
3, los parámetros de longitud variable pasada
- no fijar args num función add_many (...) locales s = 0 para i, v en ipairs {...} do s = s + v extremo retorno s final de impresión (add_many ( 1 , 2 , 3 , 4 , 5 ))
El resultado:
15
4, la longitud del parámetro de longitud variable
a, mediante la obtención de un #arg longitud
b, la longitud mediante la obtención de selección ( "#", ...)
función de la media (...) locales res = 0 locales arg = {...} para i, v en ipairs (arg) do res = res + v final - #arg o seleccionar ( "#", ...) imprimir ( " arg num es: " .. #arg .. " " ) de retorno res / # arg final de impresión (promedio ( 1 , 2 , 3 , 4 , 5 ))
El resultado:
num arg es: 5.
3.0