Introdução à programação em Lua | Kyle Schaub | Skillshare
Pesquisar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Introducción a la programación en Lua

teacher avatar Kyle Schaub, Software Engineer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introducción

      1:06

    • 2.

      Variables

      5:08

    • 3.

      Declaraciones condicionales

      7:07

    • 4.

      Bucles

      8:24

    • 5.

      Funciones

      6:33

    • 6.

      Comentarios

      2:05

    • 7.

      Local vs. global

      2:15

    • 8.

      Tablas

      9:25

    • 9.

      Para terminar

      2:18

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

225

Estudiantes

18

Proyectos

Sobre este curso

Con el lenguaje de programación "Lua", esta clase aborda los fundamentos de la programación. ¡No se requiere experiencia previa!

Lua es un lenguaje de scripting potente, ligero e integrable. Aunque es fácil de usar para principiantes, Lua es útil para todo tipo de desarrollo, como videojuegos (incluidos títulos como Roblox, Dark Souls y World of Warcraft), sistemas integrados (como infotainment automotriz) y aplicaciones industriales (como Adobe Lightroom). Su pequeño tamaño y su bajo uso de recursos lo hacen útil en cualquier dispositivo, incluso con capacidades de hardware limitadas.

Puedes seguir cada video codificando en tu navegador web: ¡todas las computadoras son compatibles con esta clase! A lo largo de las lecciones, discutiremos los conceptos básicos, como variables, bucles y funciones. Lo que realmente distingue a Lua es su estructura de datos primaria: tablas. Si ya tienes experiencia en otro lenguaje de programación, aprender Lua será un proceso fácil; pero las mesas son tan únicas que esta lección en particular es imprescindible para

todos.La clase termina con un proyecto corto para probar los fundamentos. Se te dará un programa de Lua parcialmente completado y, utilizando los conocimientos de cada una de las lecciones anteriores, puedes crear tu propia solución para que el código sea completamente funcional.

Las habilidades que aprendas en esta clase serán una excelente introducción a la codificación con Lua, y estarás en camino de desarrollar cualquier tipo de script que se adapte a tu proyecto. ¡Espero que puedas unirte a nosotros!

Conoce a tu profesor(a)

Teacher Profile Image

Kyle Schaub

Software Engineer

Profesor(a)
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Bem-vindo à aula de introdução à programação Lua. O objetivo desta aula é abordar os conceitos básicos de programação, bem como os fundamentos do uso de Lua Se você nunca programou antes, esta aula será perfeita para você ter primeira ideia de como é a codificação e aprender todos os conceitos usados em todas as linguagens de programação Se você já tem alguma experiência em codificação, aprenderá o básico de Lua muito rapidamente No entanto, os vídeos nas mesas são imperdíveis. Isso é o que realmente separa Lua de outras linguagens. No final da aula, você receberá um projeto, que será uma excelente oportunidade para você experimentar o idioma e criar algo interessante. Começar com Lua é muito fácil. Vou passar por cada lição apenas em um navegador da web. Se você acessar ua.org, poderá acessar este link de download, acessar a demonstração ao vivo e há alguns sites diferentes aqui que você pode escolher Cada um deles tem uma pequena seção de texto aqui que permite escrever código Lua, e você pode executá-lo diretamente no navegador. Quando estiver tudo pronto, vá para a próxima lição, onde escreveremos nosso primeiro trecho do código Lua. 2. Variáveis: A primeira coisa que vamos discutir são as variáveis. Uma variável é um dado armazenado cujo valor pode ser alterado. Para demonstrar isso, vamos colocar um em nosso código. No topo do arquivo, vou escrever mensagem igual e, em seguida, entre aspas, Lua é e, em seguida, entre aspas, Lua Nesta linha, acabamos de criar uma variável. O nome da variável é mensagem, e o valor que essa variável contém é o texto Lua é incrível. Agora, para ter certeza de que fizemos isso corretamente, vamos imprimir o valor dessa variável. Então, na versão impressa, em vez de Hello World, vamos passar a mensagem. Então, aquele que executamos, veremos que o texto Lua é incrível. Ele simplesmente pegará qualquer valor que essa variável contenha. E todos os tipos de dados podem ser armazenados. Nesse caso, ele está armazenando texto. E na programação, um texto como esse é chamado de string. Uma sequência de caracteres são apenas algumas palavras ou letras entre aspas como essa Uma variável também pode armazenar números. Por exemplo, poderíamos definir essa variável de mensagem como cinco, apenas o número cinco. E lembre-se de que não queremos aspas em torno de cinco porque queremos que sejam tratadas como um número, não como uma string E da mesma forma que antes, se estivermos imprimindo o valor da mensagem, devemos ver cinco aqui na saída. Pode ter praticamente quantas variáveis quisermos. Por exemplo, vamos colocar outra variável e eu a chamarei de frango. E vamos defini-lo igual a dez. Agora temos uma variável de mensagem e uma variável de frango. Mas mesmo quando corrermos, ainda haverá cinco aqui porque estamos imprimindo uma mensagem especificamente. Vamos criar uma terceira variável e chamaremos isso de resultado. Mas desta vez, vamos fazer algo um pouco diferente. Em vez de defini-lo igual a um novo valor, vamos defini-lo como frango. Então, agora, o resultado da variável agora contém qualquer valor que a galinha tenha. Como o frango tem dez, e vamos tentar imprimir o resultado desta vez, devemos ver dez na saída porque o resultado contém qualquer valor que o frango tenha, e estamos imprimindo o resultado. Ao programar, o valor armazenado em uma variável pode mudar posteriormente no programa. Portanto, embora, por exemplo, frango comece às dez, eu poderia mais tarde alterá-lo para frango igual a 25, por exemplo E quando imprimimos frango, devemos ver 25, porque mesmo que comece sendo dez, essa linha muda para 25, e a imprimimos nesse ponto. Essa variável de resultado é definida como frango aqui na linha três. Nesse ponto, como o programa é executado de cima para baixo, o frango é definido como dez, resultado é definido como frango, que significa que o resultado na verdade contém dez, e podemos ver isso se imprimirmos o resultado e executarmos. São dez. Outra forma pela qual as variáveis podem mudar em seu programa é realizando aritmética básica Isso significa que podemos fazer adição, subtração, multiplicação ou divisão com Então, vamos experimentar isso com o resultado. Em vez de definir o resultado igual ao frango, vamos defini-lo como frango mais um. Então, como frango é igual a dez, veremos dez mais E quando imprimirmos o resultado, veremos 11. Ele fez essa aritmética aqui. E você pode realizar qualquer tipo. Como eu disse, você pode fazer menos um ou vezes vezes 20. Veremos que diz 200, ou você pode fazer a divisão. Da mesma forma, obteremos o valor decimal. Lembre-se de que essa matemática só funciona quando estamos trabalhando com números. Se digamos que a galinha fosse uma corda, tipo, olá. Bem, isso de repente se torna estranho porque estamos tentando pegar a string hello e dividi-la por 20. E isso realmente não faz sentido. Na verdade, quando você tentar executar, veremos um erro. E quando você está programando, é muito comum encontrar erros. É apenas uma parte natural do aprendizado e apenas uma parte natural da programação. Até mesmo especialistas cometem erros. E aqui podemos ver que ele está tentando fazer aritmética Em um valor de string, global chicken. Portanto, você não pode realizar aritmética em strings, e é por isso que precisaríamos alterá-la novamente para um número para que isso funcione corretamente E mesmo depois que uma variável já foi inicializada, ainda podemos alterar seu valor posteriormente com a aritmética Então, com frango, por exemplo, eu poderia dizer que frango é igual a frango mais dez Então, aqui temos o frango começando com um, e então essa linha vai definir frango igual ao valor atual do frango, que é um mais dez. Então, isso deve nos dar 11, e se imprimirmos isso, veremos 11. Isso abrange os conceitos básicos do uso de variáveis. Esses são a base de qualquer programa, e ter uma boa ideia de como eles funcionam fará de você um desenvolvedor muito capaz. 3. Declarações condicionais: A seguir, abordaremos as declarações I, LSF e outras Esses tipos de declarações podem ser conhecidos como declarações condicionais porque determinam se uma seção do nosso código será executada em um determinado momento com base em uma condição Vamos começar com nosso código parecido com este onde temos uma variável de mensagem e a estamos imprimindo. E quando corremos, vemos apenas zero aqui. Além disso, vamos adicionar outra variável ao programa, e vou chamá-la de condição. Você pode chamá-lo do que quiser. E você também pode configurá-lo para o que quiser. Vou defini-lo como igual a 25. Vamos usar essa variável como parte de uma declaração condicional que mudará o valor da mensagem Vamos começar com uma declaração if, que começa com se a condição for maior que zero, então e depois terminar. Agora, entre isso e esse fim, vamos colocar o que realmente acontece quando a condição é verdadeira. Então, vou definir a mensagem igual a um. Essa linha é lida como se o valor da condição fosse maior que zero, então e somente quando essa condição for verdadeira, ela executará o que está aqui. Vai dizer que mensagem é igual a um. Nós podemos testar isso. A mensagem começa do zero, mas se executarmos, podemos ver que ela vai para um. Como alternativa, vamos alterar a condição para menos 25. Agora, essa afirmação if não será mais verdadeira porque menos 25 não é maior que zero. Como essa condição não é verdadeira, isso significa que essa linha aqui não será executada. Novamente, quando corremos, vemos que a mensagem continua sendo zero. Essa linha nunca acontece. Vou adicionar outra declaração condicional ao nosso código e será uma ideia muito semelhante à anterior Mas desta vez, ele verificará se a condição é menor ou igual a zero. E aqui, definiremos a mensagem igual a menos um. Então, a mesma ideia de antes, vai ver se a condição é menor ou igual a zero. E somente se for esse o caso, a mensagem será definida como negativa? E veremos que isso acontece. Essa linha é alcançada porque sua condição é verdadeira. Mas, novamente, todos os nossos programas acontecem de cima para baixo. Então, primeiro, essa linha acontece, depois essa linha, e então ele vai verificar essa condição, no nosso caso, essa condição não é verdadeira. Então essa linha não acontece. Em seguida, ele passa para essa condição e, como essa é verdadeira, essa linha acontece. Escrever nosso código dessa forma com duas instruções if separadas, uma logo após a outra, é aceitável, mas há uma maneira muito mais fácil e eficiente de escrever exatamente a mesma coisa. Então, na verdade, vou remover essa segunda condição ou a segunda instrução if e, em vez disso, vamos adicionar a essa primeira. Posso inserir else e dizer que mensagem é igual a menos um. Esse é um novo tipo de condição, em que apenas diz outra coisa. A forma como isso é lido é que primeiro verificará essa condição. Se a condição for maior que zero , essa linha acontece. Mas se essa condição não for verdadeira, ou se a condição for menor que zero em vez de maior que, então ela dirá outra coisa, e quando essa outra for alcançada, o que estiver entre outra coisa e o fim é o que é executado. Nesse caso, a mensagem é igual a menos um. Essa é exatamente a mesma funcionalidade de antes, mas é mais compacta com apenas um único conjunto de if e then else. E podemos testar isso. Se executarmos, ainda obteremos nosso negativo na saída. Até agora, usamos declarações if, usamos declarações else e, finalmente, vamos passar para a última condicional que é uma espécie de combinação entre essas duas e é chamada de else if Vá em frente e coloque um aqui, e na verdade vou remover nosso outro por enquanto só para limpá-lo um pouco. Mas em seu lugar, vou adicionar o LI. Então você diz el if, uma palavra como essa, e adicionaremos uma condição a isso. A condição é menor que menos dez, então, e nesse caso, diremos que mensagem é igual Portanto, isso é diferente de antes porque, com nossa declaração, não havia nenhuma condição associada a ela. Então, o que vai acontecer é essa condição será verificada primeiro e, se for verdade, faremos isso. Mas se essa condição não for verdadeira, ele passará para aqui SIF e verificará essa condição E se esta for verdadeira, então esta linha aqui vai funcionar. Mas se nenhuma dessas condições for verdadeira, nenhuma dessas linhas funcionará. Então, testando isso, já que condição é menos 25 agora, ainda obtemos nosso negativo. Mas se mudarmos isso para, digamos menos cinco, então com menos cinco não é maior que zero, então ele passa para o SIF, e menos cinco também não é menor que menos dez Então, nenhuma dessas condições foi atendida, e isso significa que a mensagem permanece em zero, onde ela começa. Agora, unir tudo é que você pode colocar um outro além de todo o resto. Então, vou colocar message equals, e vamos colocá-la em uma string Nenhuma condição foi atendida. Então, com esse exemplo de menos cinco, isso não é verdade. Isso não é verdade, então o resto será atingido e essa linha acontecerá. Assim, podemos ver se corremos, nenhuma condição é atendida. Agora, com blocos de código como esse, você pode ter um “se”. Você pode ter mais um. Mas entre o resto e o se, você pode comer quantas porções quiser. Então, eu vou colocar outro, na verdade. Eu direi ls se a condição e diremos que é igual a menos cinco. Então. E nesse caso, direi que mensagem é igual Agora, tenha em mente que estou usando o duplo sinal de igual aqui. Quando você está usando o duplo sinal de igual, é assim que você está testando para ver se isso é igual a isso. Mas quando você usa um sinal de igual, isso é chamado de atribuição, o que significa que esse valor está sendo atribuído diretamente a essa variável Portanto, não estamos definindo a condição para menos cinco. Estamos testando para ver se a condição é igual a menos cinco. E se for, essa linha acontecerá. E podemos testar isso, se corrermos, veremos olá. Um comentário final sobre esse tópico é que, nessas interseções, você pode ter quantas linhas quiser aqui Além do olá, eu poderia fazer uma impressão extra e dizer: Olá. Quando clico em Executar, obtemos o i e o hello, ambas as linhas são executadas porque tudo entre isso e isso, toda a seção interna recuada, será executada 4. Loops: O próximo tópico são loops, e há uma razão pela qual eu os estou mostrando logo após as declarações condicionais Loops são seções de código que são executadas mais de uma vez com base em determinadas condições Para mostrar isso, vamos começar com nosso primeiro tipo de loop, o loop de arquivos. Estou começando com o código parecido com este, onde temos nossa mensagem e a estamos imprimindo. E depois da mensagem, vamos escrever o primeiro loop, e é um loop. Vamos dizer que a mensagem Y é menor que dez, D. E aqui, digamos que mensagem é igual a mensagem mais uma Vamos examinar essa seção do código linha por linha para entender melhor o que ela faz. Começamos com um arquivo e, em seguida, essa mensagem é menor que dez. Então, isso é muito semelhante às nossas declarações if, onde isso é uma condição. E somente se essa condição for verdadeira, vamos até o cruzamento E dentro desse loop de arquivos, estamos dizendo que a mensagem é igual ao valor atual da mensagem, que é zero mais um. Então, depois que essa linha for executada, isso significaria que a mensagem seria igual a um. Mas o que torna o Loops interessante é que, quando chega aqui, no fim, ele realmente volta e diz: “Por que a mensagem é menor que dez Então, na verdade, ele verificará a condição novamente, logo após eu verificá-la pela primeira vez. E a mensagem agora é uma. Então, ele vai perguntar: um é menor que dez? E como está, isso significa que a mensagem vai aumentar para duas. E então, mais uma vez, vou voltar aqui é dois, menos de dez, e agora é três, é três, menos de dez, e repetidamente, vai continuar rodando, que é de onde vem o nome loop Até que finalmente, a mensagem vai aumentar para dez, e vai dizer que é dez, menos de dez. E como dez não é menor que dez, isso significa que a condição não é mais verdadeira e essa interseção para de funcionar Ele não funciona mais depois disso. E então segue em frente. Depois que isso for executado, isso significa que essa interseção foi executada um total de dez vezes e a mensagem acabou sendo dez. E podemos ver isso. Se imprimirmos a mensagem e executarmos, vemos dez. Lembre-se de que todo esse processo sobre o qual acabamos de falar acontece instantaneamente. Como os computadores são incrivelmente rápidos, o programa se depara com isso enquanto circula aqui e pode passar quase imediatamente por todas as iterações Você pode até mesmo pular essa dezena para 10.000, e ela ainda funcionará instantaneamente Ele passa por todas as 10.000 iterações em pouco tempo. Falando nisso, essa mensagem é igual mensagem mais uma é um exemplo muito básico Entre o do e o final, você pode ter o máximo de código que quiser, assim como as instruções if, e tudo isso será executado desde que a condição seja verdadeira. Por exemplo, poderíamos adicionar uma segunda variável. Vou chamá-lo de teste e defini-lo como zero. Então, dentro do loop, vamos fazer algo como teste igual a teste menos cinco Então, eu também vou reduzir isso para dez, então é um pouco mais fácil de entender. Assim como antes, esse loop será executado dez vezes, que significa que essa linha aqui também será executada dez vezes, que significa que o teste, se imprimirmos o teste, será menos 50. É subtraído por cinco, dez vezes. Anteriormente, mencionei que o loop será executado até que a condição não seja mais verdadeira. E, como programador, é sua responsabilidade garantir que, sempre que usar um loop while, ele acabe Caso contrário, seu ciclo continuará indefinidamente. E, como uma experiência de aprendizado, podemos ir em frente e experimentá-la só para ver o que acontece. O que faz com que o loop termine é a linha da lista, porque a mensagem continua crescendo até que a mensagem não seja menor que dez. Então, se mudarmos isso para menos um, bem, agora esse loop vai continuar para sempre porque a mensagem sempre será menor que dez Então, se corrermos, podemos ver que meio que ficamos presos. Então, se você for Sim, na verdade, o tempo limite é expirado. Se você fizer isso em seu próprio computador, tenha cuidado, talvez seja necessário forçar o fechamento do programa. Mas sim, isso é o que acontece sempre que o loop inteiro é executado para sempre. Simplesmente nunca para e atinge o tempo limite. Então, antes que esqueçamos, vamos mudar isso de volta para mais, e voltaremos ao normal. Isso cerca de capas e voltas. Então, vamos passar para o segundo tipo de loop, que é chamado de quatro loops. Esse tipo de loop é tão útil quanto o arquivo, mas é útil para situações diferentes. Na programação, você notará que normalmente há muitas maneiras de fazer algo, então você sempre terá opções de como resolver problemas. Vamos começar criando uma nova variável novamente, e vou chamá-la de pickle Realmente não importa como você chama isso. E eu vou defini-lo igual a zero. E esse é o valor que vamos imprimir, Pickle. E depois do loop de arquivos, vamos começar o loop de quatro. E isso é o que parece. Você diz quatro. Eu é igual a um, vírgula três, um, E aqui dentro, vamos fazer pickle igual a pickle Agora, analisando esse código, ele é um pouco menos autoexplicativo em comparação com o loop de arquivos Então, vamos analisar isso pouco a pouco para que possamos entender melhor o que está acontecendo aqui. Essa primeira linha especifica três valores diferentes. Primeiro, temos i igual a um. Em quatro loops, isso funcionará como nosso iterador, que basicamente significa que é um valor que será atualizado toda vez que esses quatro loops O próximo número na sequência, esse três, é o número que nosso iterador abordará E quando esse número for atingido, o loop terminará. E, finalmente, esse último número é o valor da etapa para o loop. Ou, em outras palavras, é a quantidade em que nosso iterador aumentará toda vez que esse loop ocorrer Então, eu sei que foram muitas informações ao mesmo tempo. Então, deixe-me ver o que acontecerá quando esse loop for executado. O loop começará. Eu começo com uma. E, novamente, esse é o nosso iterador. Então o loop começa, o pickle vai aumentar de 0 a 10. Então zero mais dez é dez. Então, agora pickle é dez. Agora o loop termina. Isso remonta ao início. Mas desta vez, eu aumento nesse valor. Então, eu aumento de um mais um é dois. Então agora é igual a dois. E como dois, o valor atual de i é menor que esse valor, o três, isso significa que o loop continuará. Então, vamos entrar no circuito mais uma vez. pickle vai aumentar em dez novamente, então agora o pickle é 20 E, novamente, voltamos ao início do loop. Ele vai aumentar 2-3. Então agora eu sou igual a três. Agora que i é igual a esse número do meio, três é igual a três, isso significa que essa é a última iteração do loop Então, o pickle aumentará mais 101 vezes, e então o loop finalmente estará pronto e continuará Então isso significa que essa linha no meio aqui, ou devo dizer que toda a seção correu três vezes o total, de um a três. Então, podemos ver que o pickle depois de tudo isso deveria ser 30. À primeira vista, esse loop pode parecer um pouco mais complicado do que o loop de Wile que fizemos anteriormente, pois há mais alguns números para acompanharmos Mas uma vez que você se acostuma, acho que é bastante autoexplicativo O loop começará nesse número, aumentará esse número a cada vez até atingir esse número. Portanto, é uma maneira fácil de ter um conjunto predeterminado de loops. Uma coisa interessante e muito útil que você pode fazer com quatro loops é usar esse valor de iterador dentro do próprio loop Por exemplo, eu poderia aumentar o pickle em i. O que isso significa é que eu vou começar com um, então o pickle vai aumentar em um, depois vai aumentar em dois e depois vai aumentar Um mais dois mais três é seis. Essa é uma maneira muito comum de usar quatro loops porque haverá muitas circunstâncias em que você precisará desse valor de iterador para realizar determinados cálculos 5. Funções: Na programação, é importante lembrar que copiar e colar seu código não é uma prática muito boa Se você achar necessário copiar uma seção do seu código e colá-la em outro local para que agora haja duas cópias do mesmo código, considere usar uma função. Uma função é uma seção de código que você define e, em seguida, você pode chamar essa seção de código para ser executada em outro lugar no programa. Você entenderá o que quero dizer em apenas um momento. Estamos começando o código com apenas uma mensagem igual zero e depois imprimindo a mensagem, que gera Mas depois da mensagem, vamos escrever nossa primeira função. Vamos dizer a palavra-chave da função, e o nome da nossa função será aumentar a mensagem. E então, dentro dessa função, diremos que mensagem é igual a mensagem mais cinco Então, aqui, a palavra-chave da função indica que a próxima coisa é o nome da nossa função. Os dois parênteses são necessários para indicar que é uma função E então tudo antes do fim, então o que quer que esteja aqui, isso será executado sempre que a função for chamada. Agora, por padrão, só porque definimos essa função, não significa necessariamente que esse código será executado imediatamente. se eu clicar em Executar, veremos que nossa saída ainda é zero. Para que esse código seja executado, precisamos chamar a função. que significa apenas que digitamos o nome da função, aumentamos a mensagem e colocamos os dois parênteses Então, isso é chamado de chamar a função, que significa apenas que quando você digita essa linha, ele pega qualquer código que está dentro da função e o executa. Então, veremos agora que, quando executamos o programa inteiro, valor da nossa mensagem é cinco. Da mesma forma, para demonstrar isso, eu poderia copiar essa chamada de função e dizer, chame-a mais duas vezes. Então, estamos chamando essa função três vezes o total, que significa que esse código será executado três vezes, o que no final significa que nossa mensagem é 15. Vamos tornar a função um pouco mais interessante. Ao escrever uma função, você tem a opção de fornecer parâmetros a ela. Os parâmetros são o que fica entre os parênteses, mais ou menos como o que estamos fazendo com essa função de impressão aqui Poderíamos alterá-lo para que essa função aceite um parâmetro. Diremos que ele aceita algo chamado Pu e, em seguida, podemos usar esse parâmetro na função. Então, vamos dizer plus up. Em vez de adicionar cinco de cada vez, ele adicionará qualquer valor que passarmos. Então, quando chamamos de mensagem aumentada, posso colocar aqui qualquer valor que eu quiser. Posso dizer 99, por exemplo, quando eu corro, obtemos 99. Mas também posso chamar isso de mensagem aumentada pela segunda vez, mas desta vez, vou passar em duas. E desta vez, é um contra um. Chamou esse código duas vezes. Na primeira vez, Fu é igual a 99 e na segunda vez Fu é igual a dois. Embora em nosso exemplo tenhamos apenas um parâmetro nessa função, você pode colocar quantos quiser e fazer isso colocando vírgulas entre cada um Então, se eu quisesse outro chamado Val e outro me ligasse, não importa. Você coloca todos eles em uma ordem. E então, ao chamar a função, você passaria valores adicionais para cada um desses parâmetros. Então é assim que seria se você quisesse fazer dessa maneira. Agora, uma coisa muito importante a saber sobre funções é que você tem a opção de retornar um valor. Para explicar o que isso significa, vamos alterar nossa função para que ela retorne algo. Vou limpar um pouco esse código, então voltamos ao único parâmetro Pu. Então, em vez de aumentar a mensagem apenas pelo valor de Fu, vamos fazer com que fu seja igual a fu vezes dois Então, vamos passar um valor e, imediatamente, vamos dobrar esse valor. E então vamos devolver Fu. Agora, a função está se comportando de forma um pouco diferente do que era antes Antes, dizíamos manualmente que a mensagem aumentaria em Fu, mas agora estamos apenas mudando Fu e depois retornando Fu. O que acontece é que, para realmente aplicar essa função à mensagem, diríamos que mensagem é igual a aumentar a mensagem, e então vamos passar dez O que vai acontecer aqui é esses dez serão passados em SFU, então fu dobrará, então dez se transformará em 20, e então retornará o novo valor de Fu, que, como acabei de dizer, é 20 Então, quando algo é retornado em uma função, isso basicamente significa que a chamada da função vai se substituir pelo resultado. Então, como estávamos retornando 20 aqui, é basicamente a mesma coisa que se substituir apenas pelo resultado. Então, basicamente, está fazendo isso. E a beleza disso é que você pode transmitir qualquer valor que quiser. E ele pegará isso e aplicará. Então, neste caso, eu digitei 99, o resultado é 198 Isso simplesmente dobra esse valor. E então, como estamos definindo a mensagem igual a esse valor retornado, é isso que obtemos na impressão. A razão pela qual isso é útil é porque agora, se eu quisesse aplicar essa função para dizer uma nova variável como chicken, do jeito que eu a configurei antes, eu dizia manualmente a mensagem dentro dessa função. Isso significaria que só se aplicava a essa variável, e pronto. Mas agora, quando estou retornando algo, posso usá-lo para qualquer variável. Então, eu poderia dizer que frango é igual a aumentar a mensagem cinco. E então, se eu imprimir frango, devemos ver dez. Uma coisa legal que você pode fazer com funções é passar outras variáveis como parâmetros. Por exemplo, na parte superior do programa, vamos criar uma nova variável. Vou chamá-lo de Macaco, e vamos defini-lo igual a 100. Então, o que eu posso fazer é passar essa variável macaco, digamos, para aqui Então, eu vou dizer apenas macaco. Então, o que está acontecendo é que o valor do macaco, que é 100, será passado para uma mensagem aumentada e, em seguida, poderá ser aplicado à galinha, o que resulta em 200 Ter funções em nosso cinto de ferramentas será extremamente útil à medida que você avança na programação. Você verá com que frequência as seções do código precisam ser executadas em diferentes pontos do programa. E é muito mais fácil gerenciar tudo quando o código está em um só lugar, em vez copiar e colar em todo o arquivo 6. Comentários: Até agora, tudo o que escrevemos em nosso arquivo LuA foi código Lua. Mas com praticamente todas as linguagens de programação, há uma opção para os programadores fazerem pequenas anotações que não são tratadas como código, e essas notas são chamadas de comentários Por exemplo, aqui neste código da lição anterior, temos uma função chamada mensagem de aumento. Se eu estivesse escrevendo um monte de código e tivesse uma tonelada de funções escritas em meus arquivos, talvez fosse difícil acompanhar o que cada função faz. Por isso, é útil escrever comentários em seu código para ajudar você a se lembrar. Em Lua, você escreve comentários digitando dah, dah e depois tudo depois é considerado Para que eu possa escrever minha mensagem, dobre um valor e o retorne. Então, essa mensagem aqui é ignorada pelo programa, mas ajuda a mim ou a quem está lendo meu código Isso apenas fornece um contexto extra. É um pequeno lembrete. Um truque legal que você pode fazer de vez em quando é chamado de comentar algum código Os comentários são úteis para esses pequenos lembretes como esse, mas você também pode usá-los para desativar determinadas seções do código Por exemplo, se eu quisesse ver o que aconteceria se eu removesse completamente essa linha, eu poderia excluí-la, ou talvez eu queira excluí-la temporariamente fazendo d. Agora, essa linha é considerada um comentário e, quando executo o programa, ela basicamente finge que essa linha não está lá, mas, ao mesmo tempo, é muito fácil trazê-la de volta Também há a opção de tratar seções inteiras do código como comentários. Você pode fazer isso digitando, base quadrada base quadrada e, quando quiser finalizar a seção de comentários, use base quadrada base quadrada Tudo entre isso e isso é considerado um comentário, nenhuma dessas linhas aqui será publicada. Adquirir o hábito de comentar seu código é muito importante Isso ajuda a fazer suas próprias anotações, mas se outra pessoa quiser examinar seu código, comentários fazem uma grande diferença entender o que você, como programador, estava tentando fazer ao escrevê-lo Ler o código de outras pessoas pode ser difícil às vezes, mas ter comentários para guiá-lo ao longo do caminho torna o processo muito mais fácil. 7. Local vs. Global: Em Lua e em muitas outras linguagens de programação, existem dois tipos de variáveis variáveis globais e variáveis locais. Até agora, temos trabalhado com empresas globais. Variáveis globais são coisas como mensagens. Depois de definido, ele pode ser acessado em qualquer lugar do programa, e é a isso que Global se refere. Poderíamos digitar a mensagem em qualquer lugar do arquivo, e o programa saberia que estamos nos referindo a essa variável aqui. Uma alternativa a uma variável global é uma variável local. E tudo o que você precisa fazer para tornar uma variável local é adicionar essa palavra-chave local com antecedência E, como o nome indica, a variável local só pode ser acessada na mesma seção do código em que a variável foi declarada. Então, por exemplo, vamos atualizar essa função de aumento de mensagem para fazer algo diferente e utilizar uma variável local. Vou criar uma nova variável local aqui e chamá-la de VR local. E eu vou defini-lo igual a FU. Então, na próxima linha, vou fazer VR igual a R dividido por dois. E, finalmente, vamos devolver a realidade virtual. Então, agora, em vez de dobrar a mensagem, agora estamos cortando-a pela metade porque estamos definindo a VR igual ao passado em valor, cortando-a pela metade e retornando a VR Mas é importante observar que a variável VR só será usada nesta seção do código dentro da função. E como esse é o caso, usar o local aqui faz sentido. Não gostaríamos que a VR fosse utilizada em nenhum lugar fora dessa seção de código aqui E é aí que o local se torna realmente útil quando você gerencia seu projeto. Há uma grande quantidade de variáveis em todo o seu programa. É mais provável que um erro seja cometido quando há muitas variáveis globais diferentes, porque se você criasse uma segunda variável mais tarde e eu a chamasse de VR Bem, pode não estar claro qual carro estamos falando. Mas se tudo for local para sua seção relevante do código, haveria dúvida a qual Var isso se refere, caso você tenha nomeado duas variáveis com o mesmo nome Portanto, esse é um hábito que eu recomendo fortemente que você adote, especialmente com funções de escrita Eu diria que esse é um cenário muito comum em que uso variáveis locais porque não quero que essas variáveis sejam usadas fora da função em que as estou declarando 8. Tabelas: Tudo o que abordamos até agora é muito comum no mundo da programação. Você encontrará todas essas coisas em praticamente qualquer idioma. No entanto, nosso próximo tópico são tabelas, e essa é uma estrutura de dados bastante exclusiva de Lua. Cada linguagem terá opções semelhantes, mas as tabelas em Lua são ferramentas únicas e incrivelmente poderosas. Você os usa para armazenar conjuntos de dados relacionados. E como esses dados são todos armazenados no mesmo local, fica muito mais fácil acessar e manter tudo organizado. Muito parecido com variáveis. Uma variável armazena um dado e pronto. Nada mais do que essa única coisa. Uma tabela é capaz de armazenar vários dados na mesma variável, exceto que é uma tabela, não uma variável. Então, vamos ver um exemplo do zero sobre como utilizar tabelas. Vou começar com nossa mensagem típica igual a zero e, em seguida, estamos imprimindo Depois dessa variável de mensagem, vamos criar uma nova tabela. Vou chamá-lo de resultados dos testes. Então, quando criamos uma nova tabela, nós a definimos como colchetes. Em Lua, se você já viu esses colchetes encaracolados, é assim que você sabe que estamos trabalhando com uma mesa E como não há nada entre os colchetes, isso significa que é uma mesa vazia Aqui, inicializamos as pontuações dos testes como uma tabela vazia. Para esta demonstração, vamos armazenar várias pontuações inventadas nesta tabela. Para fazer isso, atribuiremos uma pontuação ao seu próprio índice na tabela. Vamos ver como fazer isso. Primeiro, queremos escrever o nome da tabela, os resultados dos testes. E logo depois, vamos colocar colchetes. E então, entre os colchetes, vamos colocar um índice Você verá o que isso significa em apenas um momento. Para começar, colocaremos o Índice 1. E eu vou definir o Índice um para 95, por exemplo. E é isso. Atribuímos nossa primeira pontuação à tabela de pontuações dos testes no Índice um. Agora podemos passar para a segunda pontuação do teste. Vamos reduzir os resultados dos testes e depois dois. Vamos definir este para 87. Por enquanto, vamos colocar mais uma pontuação no teste. Eu vou dizer três notas de teste, e vou definir este para 98. Então, neste ponto, agora temos uma tabela chamada pontuações de testes, que contém três pontuações, uma em cada um desses três índices. Agora, para acessar os dados que acabamos de inserir, basta escrever o nome da tabela e nos referir ao índice do qual estamos falando Então, digamos que queremos definir a mensagem igual às pontuações dos testes do Índice dois. Então, isso só vai pegar qualquer valor que esteja no Índice dois, que é 87, e estamos imprimindo a mensagem aqui, então devemos ver 87. Lembre-se de que atribuímos valores apenas ao Índice um, Índice dois e ao Índice três. O que aconteceria se tentássemos acessar o Índice quatro? Não colocamos nada lá. Então, o que aconteceria? Se definirmos a mensagem igual às pontuações dos testes do Índice quatro e tentarmos executá-la, na verdade veremos NIL. Então, quando nada é atribuído a um índice específico, ele realmente contém o valor NIL. Agora NIL é uma palavra reservada em Lua, que representa apenas o significado de nada Significa apenas que nada existe aqui nesta posição. Então, esse método ao qual estamos atribuindo valores à tabela está correto, mas há uma maneira mais eficiente fazer exatamente a mesma coisa Vou prosseguir e excluir essas três linhas. E em vez de escrever três linhas diferentes para essas tarefas, podemos voltar à seção original de Curly Berry e inserir essas três partituras diferentes E isso foi 95, 87 e 98. Então, toda essa linha aqui realiza exatamente a mesma coisa que estávamos fazendo antes com as três entradas manuais para essas três Em outras palavras, esse valor está no Índice um, esse valor está no Índice dois e esse valor está no Índice três. E podemos testar isso. Vamos continuar e definir a mensagem para o Índice três das pontuações dos testes, e obtemos 98, que é esse valor. Embora essa seja a maneira mais fácil colocar valores em uma tabela, há um outro método para fazer isso que ainda é importante seguir. Vamos refazer tudo isso simplesmente fazendo com que as pontuações dos testes comecem vazias e, da mesma forma que fizemos antes, vamos escrever três linhas separadas. Mas desta vez, vamos usar essa função chamada table insert. Mesma ideia de antes, quando escrevemos nossas próprias funções. A linguagem de programação LuA vem com várias funções escritas para nós que podemos usar, e table dot insert é uma delas. O que essa função faz é simplesmente pegar um valor e colocá-lo em uma tabela. A função tem dois parâmetros que precisamos passar antes de podermos usá-la. O primeiro parâmetro é o nome da tabela. Então, vamos digitar os resultados dos testes. Esse é o nome da tabela na qual queremos inserir. E o próximo parâmetro é o valor que queremos inserir. Vamos primeiro colocar nossa pontuação de 95 no teste e podemos fazer a mesma coisa. Com as outras duas pontuações e digamos 87 e 98. Agora, o benefício dessa função de inserção de pontos na tabela em comparação com o que estávamos fazendo antes é que não precisamos especificar em qual índice queremos que essas pontuações cheguem. E você se deparará com situações em não saberá realmente em qual índice está. Você escreverá um código que diz apenas: coloque esse valor na tabela. Mas você não saberá no momento quantos itens estão na tabela ou se há alguma lacuna. Então, essa função de inserção descobre tudo isso para você. Só uma pequena nota lateral. Ao atribuir valores a uma tabela em LuA, é comum começar no Índice um e depois subir a partir daí Provavelmente é mais comum linguagens comecem no índice zero, mas LuA é aquele que começa no Índice um. Mas você nem precisa usar números como índice. Você também pode usar cordas. Você poderia dizer os resultados dos testes e, em seguida, entre colchetes, eu direi, olá E então vamos colocar o valor 90 lá. Então, da mesma forma que antes, posso simplesmente lembrar os mesmos dados passando o índice apropriado. E obtemos 90. Mas, como eu disse anteriormente, a abordagem de uma linha, se você já sabe quais dados estarão lá, neste caso, 95 87 e 998, essa é a maneira mais compacta de fazer isso E quando você tem tabelas cheias de dados, como temos aqui, é importante poder analisar todos esses dados com eficiência e facilidade analisar todos esses dados para encontrar o que você está procurando, fazer alguns cálculos ou fazer o que quer que seja necessário para essas informações. Felizmente, para nós, Lua nos oferece uma opção muito fácil para iterar todas as entradas da tabela e examinar os Lembre-se dos quatro loops anteriores, podemos usá-los de uma nova maneira aqui para percorrer facilmente a tabela. E aqui está como isso é feito. Podemos dizer quatro, e eu direi I S em pares. E então a tabela que queremos analisar é a pontuação dos testes D. E então, dentro dos quatro loops, eu direi que mensagem é igual a mensagem mais S. Agora, esse loop aqui vai passar por cada item na tabela, e para cada item, ele executará qualquer código que esteja dentro do Esse I se refere ao índice atual em que o loop está, e esse S se refere ao valor ou aos dados que existem nesse índice. Nesse caso, as pontuações dos testes têm três pontuações diferentes atualmente. Isso significa que esse loop será repetido três vezes diferentes. Na primeira vez, I será um, e S será o valor que está no Índice um ou 95. Então, nesse ponto, a mensagem aumentará em 95. Em seguida, o loop recomeçará. I vai ser dois desta vez, S vai ser 87 ou o valor no índice dois. E mais uma vez, a mensagem vai aumentar. Em geral, isso só vai somar todas as pontuações e colocá-las na mensagem. Então, vou me livrar dessa linha, e podemos correr e ver que a soma é 280. Isso é o que obtemos se você adicionar 95 mais 87 mais 98. Há uma última coisa sobre mesas que eu gostaria de examinar. Um recurso interessante sobre eles é que você pode adicionar propriedades a eles, que é basicamente uma variável vinculada diretamente à própria tabela. Vamos adicionar uma às pontuações desse teste. Vou dizer que os resultados dos testes são iguais aos pontos, o assunto é igual e, entre aspas E é isso. Agora podemos obter essa propriedade apenas chamando-a de forma semelhante a qualquer outra variável, e devemos obter matemática. Essa é uma maneira conveniente de marcar claramente o que cada dado representa. Mas, na verdade, tudo o que essa linha está fazendo são os resultados dos testes e, em seguida, entre colchetes, o assunto da string É igual a matemática. Essas duas linhas realizam a mesma coisa. Essa é apenas uma forma alternativa de fazer isso e vice-versa. Isso realmente demonstra como as tabelas são flexíveis e permitem que você seja realmente personalizável com a forma como seu código é organizado 9. Resumo: É hora de falar sobre o projeto desta aula. Vou te dar esse código aqui e quero que você o adicione. Você pode digitar todo esse código diretamente deste vídeo ou baixar um arquivo LuA da seção de projetos da classe e, em seguida, copiar e colar tudo no mesmo navegador das lições anteriores. Aqui está o problema. Eu te dou essa função chamada soma de todos os números. Mas, no momento, ele não funciona corretamente. Essa função deve receber um número, que chamamos de num como parâmetro, e precisa somar todos os números inteiros entre um e num Por exemplo, se passássemos quatro, isso significaria que adicionaria um mais dois mais três mais quatro, e o resultado seria dez. Em seguida, definiria dez como resultado e retornaria o resultado. momento, porém, quando executamos, ele sempre retorna zero, não importa o que passemos para essa chamada da função de soma de números. O que precisamos fazer é corrigir isso para que qualquer valor que passamos seja utilizado dentro da função e retorne uma resposta apropriada A propósito, quando passamos 12 para somar todos os números, devemos esperar que o resultado seja 78. Então, em primeiro lugar, você deve tentar obter pelo menos esse número correto aqui. É claro que, no final das contas, ele deve ser capaz de aceitar qualquer número. A quantidade total de código que você precisa escrever deve ser de apenas cinco ou seis linhas. Para resolver esse problema, pense nas lições anteriores. Um desses tópicos funciona particularmente bem para esse problema. Ao encontrar uma solução, certifique-se de fazer uma captura de tela do seu código aqui e publicá-la na página do projeto da turma Vou dar uma olhada e dar um feedback. Se você passar algum tempo pensando sobre esse problema e não conseguir descobrir, deixe de entrar em contato comigo e eu darei algumas dicas. Até lá, boa sorte. Depois de concluir o projeto, isso concluirá esta aula. Muito obrigado por ler esse material comigo. Ainda não o fez, por favor, deixe um comentário. E se você gostou da aula, por favor, recomende-a. Agradeço muito o apoio. futuro, recomendo me aprofundar em cada um dos tópicos discutidos na aula. Nós apenas esboçamos a superfície do que Lua tem a oferecer. O idioma tem excelente documentação e tutoriais em Então, eu recomendo fortemente conferir esse site. Com tudo isso dito, acredito que isso abrange tudo. Obrigado novamente por participar da minha aula, e estou ansioso para ver você na próxima.