IIC2143 / Syllabus-2022-1

IIC2143 Ingeniería de Software 2022-1 🚀✨
72 stars 14 forks source link

[TAREA] comando que se correrá y nombre de las funciones #16

Closed Nicolasramos411 closed 2 years ago

Nicolasramos411 commented 2 years ago

Hola!

Al ver el enunciado, aparece que el comando a ejecutar será ruby main.rb data instr.txt output.txt pero al haber descargado la tarea, instr.txt se llama distinto (instructions.txt). Además, en este archivo salen las siguientes funciones a llamar:

Pero en el enunciado aparece que hacer_intercambios debe llamarse realizar_intercambios y las funciones top_jugadores_rubies y top_jugadores_experiencia no tienen mucho sentido ya que el enunciado dice que hagamos una función top_jugadores la cual recibe un criterio ("rubies" ó "experiencia")

Finalmente ¿Como debemos llamar el archivo .txt de instrucciones y qué funciones deben estar definidas?

Gracias!

Nicolasramos411 commented 2 years ago

Y aprovecho de preguntar la funcionalidad de ruby main.rb data instr.txt output.txt. ¿Se supone que se ejecutan las lineas de código presentes en instr.txt en main.rb y el output se escribe en output.txt?. De no ser así entonces ¿nosotros nos tenemos que preocupar que se cree el archivo output.txt?

kalarconvl commented 2 years ago

Yo me sumo a esta pregunta, no entiendo bien el comando que se va a ejecutar. ¿Puedo hacer que el archivo main.rb tenga todo lo necesario para que se ejecuten las funciones que se piden y para que se cree el archivo output.txt? No entiendo por qué agregan data instr.txt output.txt para correr el código

maggiemunoz commented 2 years ago

Hola! Hay varias cosas que mencionar jajaja, primero:

En el enunciado se muestra un repositorio de ejemplo, donde el archivo de instrucciones se llama instr.txt, en caso de la tarea, el archivo se llamará instructions.txt, por lo que el comando para ejecutar la tarea será ruby main.rb data instructions.txt output.txt

Lo otro, no necesariamente las instrucciones tendrán los mismos nombres que los métodos, ustedes deben leer el archivo, analizar qué método se pide llamar según lo que sale escrito, y llamarlo. Por ejemplo las instrucciones top_jugadores_experiencia y top_jugadores_rubies, simplemente dicen que una debe llamar al método top_jugadores("experiencia") y la otra top_jugadores("rubíes")

El archivo .txt de instrucciones es un archivo que se debe leer, y ir linea por linea ejecutando los métodos correspondientes :)

La gracia de que se ejecute el comando ruby main.rb data instr.txt output.txt para correr el archivo es utilizar los argumentos de consola, la idea no es que lea siempre un archivo llamado instrucciones.txt, la idea es que reciba los argumentos, y abra el archivo con el nombre del segundo argumento. Al mismo tiempo, la idea no es que este hardcodeado que se cree un archivo llamado output.txt, la idea es que yo pueda crear el archivo con cualquier nombre según los argumentos de consola, por ejemplo si yo ejecuto ruby main.rb data instr.txt hola.txt, se me debería crear un archivo llamado hola.txt.

Les recomiendo revisar la parte de ARGV de la ayudantía de Ruby, con eso puede que les quede más claro el funcionamiento de los argumentos de consola.

Avisenme si algo no quedo claro :)