Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts e notas sobre o curso de Lua em Curitiba # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/04lua.e> # or at <http://angg.twu.net/e/04lua.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### ##### # # eelua # 2004aug02 # ##### (find-stringw "str!" "bufn!") -- (find-angg ".emacs" "eeb-luaw") --* -- (eeb-luaw) print("Hello", 2) print("Hello" .. 2) --* # (find-es "lua") # (find-es "lua5") # (find-lua50ref "") ##### # # ementa # 2004aug02 # ##### mail -s 'curso sobre Lua (atrasadissimo!)' email@dvalois.net <<'%%%' Oi Djalma, Eu estourei o prazo que você me deu em quase uma semana e imagino que as chances de eu ainda poder dar o curso em Curitiba são pequenas... eu só consegui terminar toda a parte cabeluda dos cursos que eu dei na UERJ (correções, notas de quem não ficou em prova final, etc) na sexta, à s 3:00hs da manhã... De qualquer modo aqui vão os dados do curso. Tomara que role. Zilhões de desculpas pelo atraso, abração, Edrx --snip--snip-- TÃtulo: Curso de Lua Resumo: Uma "introdução em profundidade" à linguagem de programação Lua. Como a linguagem é bastante simples (o manual de referência completo, incluindo descrição de todas as funções e da API em C, tem 65 páginas), será possÃvel abordar todos os aspectos principais da linguagem, e mais algumas extensões, ferramentas, e várias técnicas de uso. Ementa: * Instalando e rodando o Lua * O núcleo do Lua: * Tipos de dados; expressões e statements. Sintaxe. ";"s implÃcitos. * Variáveis globais e locais; escopo. * Tabelas associativas; como arrays, classes e variáveis globais são implementados via tabelas. * Funções como objetos; closures; blocos de código; propagação de erros. * Bibliotecas padrão: * Suporte a I/O e arquivos. * dofile, dostring e require. * Operações sobre tabelas; modos de percorrer tabelas. * Operações sobre strings; regexps em Lua. * Carregando bibliotecas extras com loadlib. * Algumas bibliotecas e extensões: bitlib, pcre, posixlib, cgilua. * As entranhas do Lua: * A biblioteca "debug". * Byte-compilação, a máquina virtual interna do Lua, a pilha. * Rodando o Lua passo a passo com gdb; examinando o conteúdo da pilha. Seguindo passo a passo algumas funções Lua definidas em C. A API do Lua. * Executando scripts e funções Lua a partir de C. * Uma ferramenta para ligar Lua e C mais facilmente: tolua. Pré-requisitos (aluno): inglês técnico básico (para entender a documentação), alguma familiaridade com C (para quem quiser acompanhar a parte final do curso). Pré-requisitos (sala): nenhum. Carga horária: mÃnimo de 9hs, máximo de 16hs. Bibliografia: http://www.lua.org/ftp/refman-5.0.ps.gz http://www.lua.org/pil/ http://umn.dl.sourceforge.net/sourceforge/lua-users/shortref-d2.pdf http://umn.dl.sourceforge.net/sourceforge/lua-users/luaapiref-d1.pdf (Obs: se for possÃvel colocar um link para <http://www.lua.org/ftp/refman-5.0.ps.gz> no resumo do curso vai ser otimo). --snip--snip-- P.S.: depois eu mando a url de onde eu estou pondo o material do curso (scripts de compilação, programas-exemplo, etc). Por enquanto tem pouca coisa lá, o material antigo que eu vou reciclar está espalhado, e o novo, óbvio, está sendo feito... [], Edrx %%% # http://www.gnus.com.br/ As grandes esquisitices do Lua: * funções podem retornar vários valores * tabelas podem ser indexadas por qualquer coisa * arrays e classes são implementados usando tabelas * funções capturam variáveis locais e viram closures Esquisitices médias: * o núcleo básico da linguagem é mÃnimo e não inclui nem mesmo suporte a arquivos, o interpretador, ou operações bit a bit. * muitos usuários sabem como o Lua funciona por dentro - vide código em C, power patches, virtual machines, debug interface. cd $ES anonftp angg.twu.net 'cd ~/public_html/e/' 'put 04lua.e' quit # http://angg.twu.net/e/04lua.e Lista final de pacotes (2004aug20): emacs21 zsh lua50 lua50-doc liblua50-dev liblualib50-dev erc w3m-el expect emacs21-el elisp-manual libreadline4-dev build-essential mgp (code-ps "luarefcard" "$S/http/umn.dl.sourceforge.net/sourceforge/lua-users/shortref-d2.pdf") (code-ps "luaapirefcard" "$S/http/umn.dl.sourceforge.net/sourceforge/lua-users/luaapiref-d1.pdf") (find-luarefcardpage 1) # Local Variables: # coding: utf-8-unix # End: