|
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: