registro de aprendizaje lua

(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

 

Supongo que te gusta

Origin www.cnblogs.com/shuimutong/p/12497952.html
Recomendado
Clasificación