Começar com Lua?

Olá pessoal.

Baixei o Lua For Windows esses dias, e já estou fazendo “debug” de vários programas, super legal de mexer e tal, como um “Java” estruturado modificado, hahahaha!

Alguém sabe algum compilador que já venha com Lua e C, para juntar as duas linguagens?

Caso não, poderiam me dizer, por favor, como compilo código Lua no DEV-C++? (já baixei o Package de Lua).

Aí eu abro um novo projeto, seleciono “Lua” como linguagem principal, crio, mas na hora de apertar F9 (compilar e abrir), não acontece nada e dá erro como se o código estivesse errado. (como se eu estivesse fazendo em C e tivesse feito algum erro no código).

Se alguém tiver um tutorial bom, passe por favor. (já procurei no site oficial do Lua, mas como nada lá me ajudou por completo [sempre fica alguma dúvida, haha] resolvi vir pra cá)

Agradeço desde já,
Mijuaho.

Estou tentando fazer no DEV-C++ mesmo.

Main.cpp ficou como:

#include <stdio.h>

#include <lua.h>
#include <lauxlib.h>

static int print(lua_State *L)
{
 int n=lua_gettop(L);
 int i;
 for (i=1; i<=n; i++)
 {
  if (i>1) printf("\t");
  if (lua_isstring(L,i))
   printf("%s",lua_tostring(L,i));
  else if (lua_isnil(L,i)==2)
   printf("%s","nil");
  else if (lua_isboolean(L,i))
   printf("%s",lua_toboolean(L,i) ? "true" : "false");
  else
   printf("%s:%p",luaL_typename(L,i),lua_topointer(L,i));
 }
 printf("\n");
 return 0;
}

int main(void)
{
 lua_State *L=lua_open();
 lua_register(L,"print",print);
 if (luaL_dofile(L,NULL)!=0) fprintf(stderr,"%s\n",lua_tostring(L,-1));
 lua_close(L);
 return 0;
}

E o hello.lua

[code]io.write (" Qual seu nome, amiguinho? “)
name = io.read();
print (” Oi " … name … “, voce quer ser meu amiguinho?”)

io.write(" \nAperte para me amar para sempre e fechar essa coisa…")
io.read()
– Feito! :smiley:
[/code]

Mas o compilador dá erro. Isso me irrita profundamente. haha!
O correto seria existir um compilador somente de Lua :confused:

Erro no compilador:
g++.exe -c hello.lua -o hello.o -l (caminho dos includes correto)
g++.exe: hello.lua: linker input file unsuded because linking not done
g++.exe main.o hello.o Project1_private.res -o “Project1.exe” -L “C:/Dev-Cpp/lib” -lLua -lLualib
g++.exe hello.o: No such file or directoy

Pelo o que entendi, ele não acha o “hello.o”. (hello.lua).
Sendo que era para ele mesmo criar.

O que estou fazendo de errado?

Agradeço desde já,
Mijuaho.

http://csl.sublevel3.org/lua/

Agora, vc tem um sistema operacional que “não tem estas paradas”. Sugiro vc instalar o Cygwin e o compilador MingW. Provavelmente vc conseguira compilar o que vc deseja. Se vc estivesse usando um Ubuntu da vida provavelmente vc precisaria de um ou dois “apt-get install” mas veja se aqui tem tudo o que vc precisa:

http://luabinaries.luaforge.net/

Se vc usaria Lua mesmo? Acho que sim, ela é interessante e pequena, lembra Javascript (porem tem um bizarro operador para concatenar strings), imho seria divertido também usar alguma linguagem que rode sob a JVM como Scala, Groovy, Clojure, etc. Vc teria menos dor de cabeça agora.

Obrigado pelos links, amigo!

Vou dar uma estudada. ^^

Gosto muito de linguagens de script (Ruby, Perl, PHP), então me interessei por Lua, hehe.