Lab 02a

1333 palavras 6 páginas
Tipos e Valores: table


Linguagens de Programação

Lua 5.1

É a implementação de arrays associativos


Exceto nil, qualquer valor pode ser índice



Pode armazenar qualquer valor, inclusive nil t = {} t[1] = “hello” t[true] = false t[true] = nil print( t[print] ) t["type"] = type

Prof. Bruno Silvestre brunoos@inf.ufg.br 2

Tipos e Valores: table


Tipos e Valores: table

Tabelas são objetos


Alocadas dinamicamente



Crescem com a demanda



Variáveis são referências para a tabela

t = {} a = "x" t[a] = 4+1 print( t["x"] ) t[a..a..a] = 19 print( t[string.rep('x',3)] )

t = {} a = t

t[ [[bla]] ] = 2 print(t['bla']) a[1] = 1+2 print( t[1] ) t = nil a = nil

3

4

table: Construção de Tipos

Arrays



arrays



1-based



matrizes



Operador de tamanho: #



registros





a = {} a[1] = 10 a[2] = 'nada' a[3] = true

Estruturas de dados
Lista, fila, pilha, árvore, grafos

Entidades do domínio da aplicação


Pessoa, Aluno, Professor, Cliente, Venda, etc.

print(#a)

5

Arrays


1-based



Operador de tamanho: # a = {} a[5] = 10 a[3] = 'nada' a[1] = true a[2] = 7 a[6] = false

6

Operador de Tamanho: #
“O comprimento de uma tabela t é definido como qualquer índice inteiro n tal que t[n] não é nil e t[n+1] é nil; além disso, se t[1] é nil, n pode ser zero. Para um array comum, com todos os valores diferentes de nil indo de 1 até um dado n, o seu comprimento é exatamente aquele n, o índice do seu último valor. Se o array possui "buracos"
(isto é, valores nil entre dois outros valores diferentes de nil), então #t pode ser qualquer um dos índices que imediatamente precedem um valor nil (isto é, ele pode considerar qualquer valor nil como o fim do array)”

a = {} a['1'] = 10 a['2'] = 'nada' a['3'] = true print(#a) print(#a)

7

8

Operador de Tamanho: # a = {} a[5] = 10 a[3] = 'nada' a[1] = true a[2] = 7 a[6] = false

Arrays

a = {} a['1'] = 10 a['2'] = 'nada' a['3'] = true



1-based



Operador de tamanho: # a = {} a[#a+1] = 10 a[#a+1] = 'nada'

Relacionados

  • Auditoria
    718 palavras | 3 páginas
  • PROJETO UBÁ
    2358 palavras | 10 páginas
  • Verdugo
    4445 palavras | 18 páginas
  • Apostila de Física Experimental 1
    20169 palavras | 81 páginas
  • doctor
    20169 palavras | 81 páginas
  • Apostila de Física Experimental 1
    20169 palavras | 81 páginas
  • about it
    3461 palavras | 14 páginas
  • E MAILS E Telefones EMPRESAS DO DAIA ATUALIZADA
    4898 palavras | 20 páginas
  • Integral
    7284 palavras | 30 páginas
  • Willibaldo Schimidell Urgel De Almeida Lima Eug BookZZ
    191056 palavras | 765 páginas