Quisiera que me explicaran como hago para programar scripts
Es decir hacer una aplicacion que funcione en base a scripts, que tenga un archivo de texto donde escriba comandos y que la aplicacion las lea y las ejecute, yo programo en C# y estoy en un nivel intermedio-bajo asi que quisiera que me explicaran como hacer eso pero para este lenguaje
Si estás en C# con un nivel medio-bajo quizás meterte con scripting puro es un poco demasiado...
Los namespaces para scripting son System.CodeDom y System.CodeDom.Compiler que te permiten compilar y ejecutar código de .NET al vuelo. Pero para esto deberías tener al menos nociones de dominios de aplicación, seguridad, etc etc.
También podrías crearte tu un lenguaje sencillito y un intérprete para el mismo, tienes muuuchos ejemplos sueltos por internet. "Simplemente" sería un programa que lea de un fichero y según lo que lea hace una cosa u otra (en realidad es bastante más complicado y deberías leer sobre gramáticas, compiladores y temas similares...).
Un saludo,
Vicente
Cita de: "maju"Quisiera que me explicaran como hago para programar scripts
Es decir hacer una aplicacion que funcione en base a scripts, que tenga un archivo de texto donde escriba comandos y que la aplicacion las lea y las ejecute, yo programo en C# y estoy en un nivel intermedio-bajo asi que quisiera que me explicaran como hacer eso pero para este lenguaje
comprate el libro rojo, es un libro con un dragon en la tapa y habla de compiladores
Joer, uno pide un vaso de leche y le decis que se compre una vaca.
Echale una ojeada de LUA, muchos juegos lo usan y no está mal, no es muy comodo pero eso se debe a que tampoco requiere procesos complejos de binding (para enlazar funciones del script con funciones de tu codigo).
La otra opcion es Python, nunca lo he vinculado con C pero mucha gente dice que va muy bien.
Suerte
Bueno, yo he usado Python en C, aunque más bien en el sentido inverso (funciones de C para Python, y la verdad es que es relativamente cómodo, si quitamos el hecho de la horrible sintaxis de mezclar los "_" con la notación de PrimeraMayúscula.
Si sabes como se realiza internamente una llamada a función, no deberías tener problemas. Apilas los parámetros que hacen falta, indicas al recolector de vas a hacer una referencia a un objeto Python (imagino que con LUA será igual), llamas a la función, desapilas y derreferencias.
La dinámica viene a ser esa. Evidentemente, es más compleja que cuatro líneas mal explicadas, pero nada extremadamente difícil.
Pero lei en un sitio q LUA no era conveniente con C#, no entendi bien el porque pero algo referido a que se podia modificar cosas q no eran permitidas o algo por el estilo
Python ese puede trabajar con C#?
Tienen algunos ejemplillos cortos para saber como trabajar exactamente
Puedes usar IronPython desde C#, pero ya te dije, tienes que mirar System.CodeDom y System.CodeDom.Compiler y entender un poco como funciona la carga y generación de ensamblados, dominios de aplicación y seguridad.
Un saludo,
Vicente
OK, pero para ustedes con cual me recomendaria que empiece a trabajar
Lua o IronPyhton, porqur la verdad desconozco cuales son las caracteristicas de cada uno y cuales serian sus posibles ventajas
Hola,
si vas a trabajar desde .NET (C#) te recomiendo que uses un lenguaje .NET. Si buscas un poquito por internet hay muchos artículos del tema.
Un saludo,
Vicente