Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Linton en 17 Junio 2013, 09:05 am



Título: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Linton en 17 Junio 2013, 09:05 am
Los cursos de Codeacademy están bien en líneas generales, aunque la traducción del original en inglés no es una maravilla que digamos.

Por ejemplo, pretendiendo enseñar el retorno aparece este párrafo:

El comando return simplemente le devuelve al programador el valor que resulta de una función. De esta forma, una función se ejecuta, y cuando se usa return, la función dejará de ejecutarse inmediatamente y devolverá el valor.

 :huh: :huh: ¿Alguien puede explicarme lo que significa eso en cristiano? Gracias, un saludo.


Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Hacksturcon en 17 Junio 2013, 09:49 am
Quizas si te lo hubiesen dicho asi:

Citar
Cuando se usa "return X" la funcion dejara de ejecutarse inmediatamente y devolvera el valor "X"



Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Linton en 17 Junio 2013, 10:06 am
Pues tampoco lo entiendo, porque lo único que contiene la función es el return  :huh: Por tanto no tiene sentido decir que gracias a ese operador la función deja de ejecutarse al final de la primera línea. No puede ser de otra manera, porque no hay más líneas.

Para mí es como si pides una cerveza al camarero, y explicas a tu acompañante que al añadir "por favor" interrumpes el flujo del servicio y de ese modo el camarero sólo te pone una cerveza.

Saludos.


Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Eleкtro en 17 Junio 2013, 10:36 am
Pues tampoco lo entiendo

Sería más sencillo si entendieses la diferencia entre un procedimiento y una función.

Una función es una subrutina destinada a devolver un valor.

No sé de JS pero para el caso no es necesario,
Como ya te expliqué, en la primera función que pusiste no estabas devolviendo/modificando el valor, solo estabas mostrando el valor modificado (console.log(25*5)) que no es lo mismo que modificar el valor en si mismo (var naranjas = 25 * 5).

porque lo único que contiene la función es el return
Porque no es necesario más (en este caso), le estás pasando la cantidad de naranjas como parámetro (arrgumento), y lo único que debe hacer esa función es multiplicar el parámetro (la cantidad de naranjas),
La función de las naranjas solo contiene un return porque es una función muy básica y sencilla, pero cuando avanzes en el lenguaje descubrirás que en general deberás escribir muchas más intrucciones dentro de un bloque de una función que un simple return.

Igual podrías haber hecho algo así:
Código
  1. function precio(naranjas)
  2. {
  3. var naranjitas = naranjas * 5;
  4. return naranjitas;
  5. }
...Pero como ves al fin y al cabo es lo mismo, símplemente simplifiqué el código que te mostré para ahorrar líneas de más.

Saludos


Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Linton en 17 Junio 2013, 11:00 am
Una función es una subrutina destinada a devolver un valor.

Entonces, ¿por qué nos explican que el return cancela de modo intempestivo la función para proporcionar gentilmente un dato, como si fuera poco menos que un irregular anticipo del proyecto final?  :huh:
Se hace ver que el return trunca el curso natural de la función, cuando por lo visto es el objetivo final de la función.

Gracias por tu ayuda, un saludo.


Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Hacksturcon en 17 Junio 2013, 11:51 am
Yo creo que te lo han explicado bien.

Aunque una funcion, segun mi filosofia, debe retornar siempre un valor, este valor puede ser usado como control de errores y no como "finalidad" de la funcion.

Quiero decir... una funcion puede tratar de leer datos de un fichero y cargarlos a una tupla, y usar los return solo para gestionar sus errores, si el fichero esta en uso, si no existe, si no tenemos permiso...

Con tiempo llegareis a esa parte.

Un saludo!.


Título: Re: [Js] Redacción confusa, ¿alguien me aclara lo del retorno?
Publicado por: Linton en 17 Junio 2013, 11:58 am
En fin, a ver si consigo avanzar y me aclaro.

Gracias a todos, un saludo  :)