Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Consulta] Haskell y ejecución de varios comandos en ghci
Autor Mensaje
robergto Sin conexión
Militante
La cagué. Sin cursar.
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 87
Agradecimientos dados: 165
Agradecimientos: 8 en 7 posts
Registro en: Aug 2014
Mensaje: #1
[Consulta] Haskell y ejecución de varios comandos en ghci Trabajo practico Paradigmas de Programación
Hola gentes, antes que nada, gracias por la atención y las respuestas.
Por si acaso, leí por algún posto algo como "bienvenido a la facultad, no te vamos a hacer la tarea". No es la idea, je.

Tengo el Haskell y su ghci para consultarlo, decirle qué hacer y que responda, tan amablemente como lo hace. ¿Cómo se puede tirar una secuencia de consultas/ejecuciones? Porque en la línea de comandos del ghci hace de a una...
Digamos, en concreto. Tengo unas funciones que devuelven tipos de datos creados. Si no entiendo mal, no es que "modifican" el que se le pasa a la función, sino que toma ese y hace uno nuevo. Verbigracia:

data Persona = Persona {
nombre::String,
edad::Int,
ganasDeEstudiar::Bool
}

a su vez, podríamos tener una función que le "cambie" las ganas de estudiar:

cambioGanasDeEstudiarSi persona = persona {
ganasDeEstudiar = True
}

Endeahí, tenemos otra que le cambie la edad:

cambioEdad persona nuevaEdad = persona {
edad = nuevaEdad
}

Ahora, sea que estén bien las funciones o no, porque para eso vendrá la corrección del tp (je), ¿Cómo hago por consola de Haskell (ghci) para hacer un programa que:

cree una persona "jorge" que se llama "jorge" (Yes!), tiene 29 años y no ganas de estudiar,
cambioEdad jorge 30
cambioGanasDeEstudiarSi jorge
cambioEdad jorge 31

¿? Porque si hago de a uno, cada vez, jorge se muestra cambiado (el nuevo), pero si el "original" nunca cambia, ergo, es siempre el mismo maldito, sin ganas de estudiar

Espero haberme explicado, persón si no soy claro. Gracias dde nuevo y ¡saludos!
22-04-2018 17:11
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Renkon Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 3
Agradecimientos: 23 en 6 posts
Registro en: Jan 2015
Facebook Twitter YouTube
Mensaje: #2
RE: [Consulta] Haskell y ejecución de varios comandos en ghci
Estás buscando algo similar a esto?

cambioEdad (cambioGanasDeEstudiarSi (cambioEdad jorge 30)) 31
23-04-2018 00:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Renkon recibio 1 Gracias por este post
robergto (24-04-2018)
Apellidocomplicado Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 85
Agradecimientos dados: 28
Agradecimientos: 38 en 15 posts
Registro en: Sep 2015
Mensaje: #3
RE: [Consulta] Haskell y ejecución de varios comandos en ghci
La variable jorge tiene que estar definida previamente, sino no la va a encontrar


> cambioEdad (cambioGanasDeEstudiarSi (cambioEdad jorge 30)) 31
Persona :: {nombre = "jorge", edad = 31, ganasDeEstudiar = true}



La idea de los ejercicios es escribir las funciones que vas a necesitar, y después ejecutar todo en el ghci. El cómo es parte del tp.
(Este mensaje fue modificado por última vez en: 23-04-2018 10:36 por Apellidocomplicado.)
23-04-2018 10:30
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Apellidocomplicado recibio 1 Gracias por este post
robergto (24-04-2018)
robergto Sin conexión
Militante
La cagué. Sin cursar.
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 87
Agradecimientos dados: 165
Agradecimientos: 8 en 7 posts
Registro en: Aug 2014
Mensaje: #4
RE: [Consulta] Haskell y ejecución de varios comandos en ghci
Hey, aloha! Gracias por la onda!
Sí, en realidad estaba buscando la forma de no hacer eso, de componer o de tirar funciones anidadas una con otra =S Si son varios los comandos queda muy larga, mucho paréntise, y me asusta (supongamos que tiene que llegar a los 40, teniendo ganas de estudiar alternativamente. En el ejemplo eran 4, pero si fueran 10 quedarían las 10 anidadas... =/ ).
Vi por ahí, pero no entendí muy bien cómo se usa, que hay un "do". En stackoverflow, pero era para definir las funciones por consola, y no ejecutar comandos. Pensaba que por ahí podía hacerse un "test1" dentro del .hs, con los comandos, entonces al ejecutar en ghci se escribe "test1" y tira el resultado final.

Pero, alegría, lo que me han dicho Renkon y Apellidocomplicado va como trompeta.
Xenial, si se hace así, veníamos bien =D

Grazie!
(Este mensaje fue modificado por última vez en: 24-04-2018 10:57 por robergto.)
24-04-2018 10:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)