Course Code: luafun
Duration: 14 hours
Prerequisites:

Familiaridad con al menos otro lenguaje de programación. Experiencia de programación. Opcionalmente, si tiene familiaridad con otros lenguajes de scripting, será más fácil entender Lua.

Overview:

Lua es un lenguaje de scripting fácil de usar que se utiliza como un plugin incorporado / lenguaje de extensión en diferentes productos. Por ejemplo, es el lenguaje de scripting integrado de las aplicaciones de red como nmap y wireshark, y también se puede encontrar como un lenguaje de scripting en World of Warcraft, Orbiter y otros juegos.

Lua también se puede utilizar como un lenguaje independiente. Es un lenguaje de programación ligero y multi-paradigma y por lo tanto el curso enseña varios conceptos que los estudiantes encontrarán útiles en otras áreas de la ingeniería de software también.

Este curso cubre los constructos básicos de programación en Lua y contiene una gran cantidad de ejercicios de programación, para que los recién llegados puedan adquirir dominio del idioma, empezando desde cero.

Después de completar el curso, los estudiantes podrán escribir programas Lua independientes de tamaño mediano y programas de software de secuencias de comandos donde Lua es el lenguaje incorporado.

Course Outline:

Introducción a Lua

  • Un poco de historia
  • Objetivos, características y no objetivos de Lua
  • Recursos de documentación Lua y tutoriales
  • Instalación del intérprete Lua
  • Configuración y uso de LuaRocks

Sintaxis y semántica básicas

  • Identificadores
  • Comentarios, bloquear comentarios
  • Variables globales y aplicación de rigor
  • Variables locales
  • Programas independientes, argumentos de programa
  • Unidades de compilación, trozos, expresiones, puntos y comas

Tipos de datos y estructuras de datos

  • Tipos básicos: nil, boolean, number, string
  • Tipos de objeto: function, userdata, thread, table
  • Referencias / objetos vs. valores básicos
  • La importancia de las tablas en Lua

Introducción a las tablas y su versatilidad

  • Tablas como una matriz asociativa
  • Tablas como matrices numéricas, secuencias

Estructuras básicas de control

  • El if then elseif else end
  • El bucle while
  • El bucle de repetición
  • El simple para el bucle

Manejo de errores

  • Valores devueltos vs excepciones
  • Convertir un valor devuelto en una excepción
  • Convertir una excepción en un valor devuelto
  • Niveles de error

Ejemplos de programas

  • Evaluación polinomial
  • Breadth primera búsqueda
  • Ejercicios adicionales

Más sobre funciones

  • Argumentos con nombre
  • Llamadas orientadas a objetos
  • Cierres
  • Zurra
  • Llamadas indirectas
  • Múltiples asignaciones y devoluciones
  • Varargs

Iteradores y co-rutinas

  • El genérico para el bucle
  • Apatridas vs iteradores con estado
  • Diferencias entre iteradores y co-rutinas

Metatables y metamétodos

  • El ejemplo de conjunto
  • El métamétodo de la estra cadena
  • Metámetodos aritméticos
  • El __index, __newindex metamethods
  • El __len metamethod

Módulos y paquetes

  • Uso de módulos
  • Creación de módulos
  • Organización de módulos en paquetes

Programación orientada a objetos

  • Los bloques de construcción de OOP en Lua
  • Ejemplos

Discusión sobre características de lenguaje más avanzadas

  • Tablas débiles
  • Finalizadores
  • Compilación, evaluación, carga
Sites Published:

United Arab Emirates - Lua Fundamentals

Qatar - Lua Fundamentals

Egypt - Lua Fundamentals

Saudi Arabia - Lua Fundamentals

South Africa - Lua Fundamentals

Brasil - Fundamentos da Lua

Canada - Lua Fundamentals

中国 - Lua Fundamentals

香港 - Lua Fundamentals

澳門 - Lua Fundamentals

台灣 - Lua Fundamentals

USA - Lua Fundamentals

Österreich - Lua Fundamentals

Schweiz - Lua Fundamentals

Deutschland - Lua Fundamentals

Czech Republic - Lua Fundamentals

Denmark - Lua Fundamentals

Estonia - Lua Fundamentals

Finland - Lua Fundamentals

Greece - Lua Fundamentals

Magyarország - Lua Fundamentals

Ireland - Lua Fundamentals

Luxembourg - Lua Fundamentals

Latvia - Lua Fundamentals

España - Fundamentos de Lua

Italia - Lua Fundamentals

Lithuania - Lua Fundamentals

Nederland - Lua Fundamentals

Norway - Lua Fundamentals

Portugal - Fundamentos da Lua

România - Lua Fundamentals

Sverige - Lua Fundamentals

Türkiye - Lua Fundamentals

Malta - Lua Fundamentals

Belgique - Lua Fundamentals

France - Lua Fundamentals

日本 - Lua Fundamentals

Australia - Lua Fundamentals

Malaysia - Lua Fundamentals

New Zealand - Lua Fundamentals

Philippines - Lua Fundamentals

Singapore - Lua Fundamentals

Thailand - Lua Fundamentals

Vietnam - Lua Fundamentals

India - Lua Fundamentals

Argentina - Fundamentos de Lua

Chile - Fundamentos de Lua

Costa Rica - Fundamentos de Lua

Ecuador - Fundamentos de Lua

Guatemala - Fundamentos de Lua

Colombia - Fundamentos de Lua

México - Fundamentos de Lua

Panama - Fundamentos de Lua

Peru - Fundamentos de Lua

Uruguay - Fundamentos de Lua

Venezuela - Fundamentos de Lua

Polska - Lua Fundamentals

United Kingdom - Lua Fundamentals

South Korea - Lua Fundamentals

Pakistan - Lua Fundamentals

Sri Lanka - Lua Fundamentals

Bulgaria - Lua Fundamentals

Bolivia - Fundamentos de Lua

Indonesia - Lua Fundamentals

Kazakhstan - Lua Fundamentals

Moldova - Lua Fundamentals

Morocco - Lua Fundamentals

Tunisia - Lua Fundamentals

Kuwait - Lua Fundamentals

Oman - Lua Fundamentals

Slovakia - Lua Fundamentals

Kenya - Lua Fundamentals

Nigeria - Lua Fundamentals

Botswana - Lua Fundamentals

Slovenia - Lua Fundamentals

Croatia - Lua Fundamentals

Serbia - Lua Fundamentals

Bhutan - Lua Fundamentals

Nepal - Lua Fundamentals

Uzbekistan - Lua Fundamentals