minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Prefácio
Este artigo é referenciado em:Tipos de dados Lua | Tutorial para iniciantes (runoob.com)
Para quem quiser saber mais, confira o link acima:
- print(type("Hello world")) --> string
- print(type(10.4*3)) --> number
- print(type(print)) --> function
- print(type(type)) --> function
- print(type(true)) --> boolean
- print(type(nil)) --> nil
- print(type(type(X))) --> string
- print(type(Y)) -->nil
- print(type('Y')) -->string
Você pode ver que o tipo (Y) que geramos aqui é do tipo nil, por quê? O próximo nulo (vazio) será demonstrado para você.
O tipo nil representa um tipo que não possui nenhum valor válido. Ele possui apenas um valor - nil. Por exemplo, imprimir uma variável sem atribuição produzirá um valor nulo:
Da seguinte forma: Os tipos de saída das três variáveis que não recebem valores iniciais são todos nulos.
- tab1 = { key1 = "val1", key2 = "val2",
- "val3","val4",key3 = "val5" }
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("=========直接输出=============")
-
-
- tab1.key1 = nil
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("============删除key1后==========")
-
-
-
- tab1.key3 = nil
- for k,v in pairs(tab1) do
- print(k.. " - "..v)
- end
- print("=========删除key3后============")
-
Para variáveis e tabelas globais, nil também tem um efeito de "exclusão". Atribuir um valor nil a variáveis globais ou variáveis na tabela equivale a excluí-las.
type(X)==nil resulta emfalsoA razão é que type(X) é essencialmente a string "nil" retornada, que é um tipo de string:
O tipo booleano possui apenas dois valores opcionais: verdadeiro (verdadeiro) e falso (falso). Lua trata falso e nil como falso, e todo o resto é verdadeiro.
- print(type(true))
- print(type(false))
- print(type(nil))
-
- if false or nil then
- print("至少有一个是 true")
- else
- print("false 和 nil 都为 false")
- end
-
- if 0 then
- print("数字 0 是 true")
- else
- print("数字 0 为 false")
- end
Lua tem apenas um tipo de número por padrão - tipo double (precisão dupla) (o tipo padrão pode ser modificado em luaconf.h), os seguintes métodos de escrita são considerados num
Ao realizar operações aritméticas em uma string numérica, Lua tentará converter a string numérica em um número:
Em Lua, a criação de tabelas é realizada através de "expressões construtivas". A expressão construída mais simples é {}, que é usada para criar uma tabela vazia. Você também pode adicionar alguns dados à tabela e inicializá-la diretamente:
Uma tabela em Lua é na verdade uma"Matriz associativa"(matrizes associativas), o índice da matriz pode ser um número ou uma string.
A tabela não terá um comprimento fixo. Quando novos dados forem adicionados, o comprimento da tabela aumentará automaticamente. As tabelas que não forem inicializadas serão nulas.
Em Lua, as funções são consideradas “Valores de Primeira Classe”.
Em Lua, o thread mais importante é a corrotina. É semelhante a um thread e possui sua própria pilha independente, variáveis locais e ponteiro de instrução.
Variáveis globais e muitas outras coisas podem ser compartilhadas com outras corrotinas.A diferença entre threads e corrotinas: Threads podem ser executados várias vezes ao mesmo tempo, mas as corrotinas só podem ser executadas uma por vez, e uma corrotina em execução só será suspensa quando for suspensa.
userdata é um tipo de dados definidos pelo usuário usado para representar um tipo criado por um aplicativo ou biblioteca de linguagem C/C++.
Você pode armazenar quaisquer dados de qualquer tipo de dados C/C++ (geralmente struct e ponteiro) em uma variável Lua e chamá-la