﻿1
00:00:04,440 --> 00:00:05,430
‫Hola y bienvenido.

2
00:00:05,430 --> 00:00:10,800
‫Y a continuación, veremos cómo podemos devolver valores de nuestras funciones utilizando diferentes tipos

3
00:00:10,800 --> 00:00:13,590
‫de devolución y una declaración de devolución.

4
00:00:13,890 --> 00:00:15,960
‫Vamos a sumergirnos y ver cómo funciona esto.

5
00:00:16,950 --> 00:00:24,120
‫En la última lección, dijimos que si una función no devuelve un valor, entonces el tipo de retorno debe ser nulo, que es

6
00:00:24,210 --> 00:00:25,980
‫lo que hemos hecho aquí.

7
00:00:25,980 --> 00:00:33,990
‫Pero, ¿y si quisiéramos tomar una función como la de comprobar básicamente si debemos dar la vuelta?

8
00:00:34,110 --> 00:00:39,000
‫Ya sabes, esta función aquí en la instrucción if, si pudiéramos decir que debería cambiar,

9
00:00:39,180 --> 00:00:42,540
‫sería una función mucho más limpia al final del día.

10
00:00:42,690 --> 00:00:44,490
‫¿Entonces cómo hacemos eso?

11
00:00:44,490 --> 00:00:49,320
‫¿Cómo logramos una función que pueda devolver una expresión booleana?

12
00:00:50,100 --> 00:00:55,800
‫Bueno, la forma en que lo hacemos es simplemente usando un tipo en lugar del vacío.

13
00:00:55,950 --> 00:01:03,480
‫Entonces, si devolviéramos una vez una expresión booleana porque escribimos bool como lo haríamos con una variable.

14
00:01:03,720 --> 00:01:08,100
‫Pero lo que distingue a la función de la variable es el hecho de que ponemos paréntesis después, lo que la

15
00:01:08,100 --> 00:01:10,230
‫convierte en una función en lugar de una variable.

16
00:01:10,710 --> 00:01:18,480
‫Y lo que podríamos hacer es llamarlo should platform return y luego ponemos nuestros paréntesis.

17
00:01:18,480 --> 00:01:24,360
‫Y en este caso, no tengo nada que quiera pasar como argumento a esta función, así que puedo dejar la lista

18
00:01:24,360 --> 00:01:29,550
‫de parámetros vacía, poner un punto y coma al final de la línea y luego copiar esta línea completa

19
00:01:29,550 --> 00:01:31,560
‫y repasar a la plataforma móvil.

20
00:01:31,560 --> 00:01:36,600
‫CP Y justo al final del archivo, puede colocarlo en cualquier lugar que desee entre cualquiera de las

21
00:01:36,600 --> 00:01:37,080
‫funciones.

22
00:01:37,080 --> 00:01:39,450
‫Solo asegúrate de que no esté dentro de una función.

23
00:01:39,870 --> 00:01:41,070
‫Voy a pegarlo aquí.

24
00:01:41,130 --> 00:01:45,870
‫Voy a aplicar una sangría y voy a agregar la clase y.

25
00:01:46,820 --> 00:01:48,320
‫La resolución de alcance opera.

26
00:01:48,320 --> 00:01:56,150
‫Entonces, una plataforma en movimiento dos puntos debe regresar a la plataforma, luego eliminar el punto y coma, agregar algunas llaves en su

27
00:01:56,150 --> 00:01:56,630
‫lugar.

28
00:01:57,590 --> 00:02:05,030
‫Y lo que queremos hacer aquí es que si realmente queremos devolver un resultado, necesitamos usar una

29
00:02:05,030 --> 00:02:10,040
‫palabra clave especial return seguida de una expresión del tipo correcto.

30
00:02:10,040 --> 00:02:12,170
‫Así que en este caso tiene que ser una expresión booleana.

31
00:02:12,170 --> 00:02:18,380
‫Así que podría devolver verdadero y luego poner un punto y coma al final, o podría devolver falso y luego poner un punto y coma al

32
00:02:18,380 --> 00:02:18,860
‫final.

33
00:02:19,640 --> 00:02:21,290
‫Pero no tiene que ser tan simple.

34
00:02:21,290 --> 00:02:23,720
‫En realidad podría ser cualquier expresión.

35
00:02:23,720 --> 00:02:28,940
‫Podría ser otra llamada a una función, podría ser una variable, podría ser el uso de algunos operadores

36
00:02:28,940 --> 00:02:31,550
‫como los que tenemos aquí dentro de nuestra declaración.

37
00:02:32,120 --> 00:02:34,640
‫Entonces, de hecho, sigamos adelante e intentemos hacer eso.

38
00:02:34,820 --> 00:02:36,740
‫Voy a tomar esta expresión.

39
00:02:36,740 --> 00:02:41,300
‫La distancia movida y es mayor que la distancia mov.

40
00:02:41,300 --> 00:02:49,310
‫Voy a cortarlo y lo voy a poner como la expresión de retorno para esta función de retorno de la

41
00:02:49,310 --> 00:02:49,940
‫plataforma.

42
00:02:50,600 --> 00:02:56,750
‫Inez se va a quejar aquí porque el movimiento de distancia no es una variable local dentro de nuestra función de

43
00:02:56,750 --> 00:02:57,980
‫retorno de plataforma debería.

44
00:02:58,610 --> 00:03:00,230
‫Así que vamos a mover algunas cosas más.

45
00:03:00,230 --> 00:03:07,460
‫Pero antes de hacer eso, no quiero olvidar poner una llamada a esto si la plataforma regrese en la declaración if,

46
00:03:07,460 --> 00:03:14,270
‫entonces debería regresar la plataforma y luego poner los paréntesis para que la función realmente se llame dentro de nuestra

47
00:03:14,270 --> 00:03:14,840
‫declaración.

48
00:03:14,850 --> 00:03:17,090
‫Así que ahora está empezando a leer un poco mejor para mí.

49
00:03:17,090 --> 00:03:21,140
‫Si la plataforma debe regresar, entonces hacemos todo lo siguiente.

50
00:03:22,250 --> 00:03:29,570
‫Así que ahora lo que tenemos que hacer es traer la variable de distancia movida que tenemos en la plataforma MOVE.

51
00:03:29,570 --> 00:03:31,320
‫En realidad, no lo necesitamos dentro de la plataforma MOVE.

52
00:03:31,320 --> 00:03:35,960
‫Voy a recortarlo y traerlo y ponerlo en la línea antes de nuestra declaración de devolución.

53
00:03:35,960 --> 00:03:43,460
‫Por lo general, la declaración de devolución es lo último en una función porque una vez que ha regresado de una función, en realidad

54
00:03:43,940 --> 00:03:45,530
‫no hace nada más.

55
00:03:45,530 --> 00:03:53,930
‫Si tuviera que poner algo como un mensaje de registro, lo pondré después de mi declaración de devolución con algún tipo

56
00:03:53,930 --> 00:03:54,800
‫de mensaje.

57
00:03:55,430 --> 00:04:01,730
‫Por lo general, lo que sucederá es que recibirá una advertencia de su compilador diciendo que nunca se alcanzará

58
00:04:01,730 --> 00:04:05,270
‫esta línea y que probablemente no fue su intención hacerlo.

59
00:04:05,840 --> 00:04:08,690
‫Entonces, la declaración de devolución generalmente es lo último.

60
00:04:09,590 --> 00:04:16,640
‫Entonces, después de haber cruzado la línea que define la distancia recorrida en nuestra función de retorno de plataforma debería, puede ver

61
00:04:16,850 --> 00:04:22,490
‫que ahora dice, oye, no tengo una ubicación actual y bueno, la ubicación actual la podemos tomar muy

62
00:04:22,490 --> 00:04:28,070
‫fácilmente, hemos establezca la ubicación actual justo antes de que llamemos en caso de que la plataforma

63
00:04:28,070 --> 00:04:28,550
‫regrese.

64
00:04:28,550 --> 00:04:32,270
‫Entonces, obtener una ubicación activa es exactamente lo que queremos.

65
00:04:32,270 --> 00:04:38,690
‫Así que solo voy a poner eso en lugar de una variable, solo voy a hacer una llamada para llegar a una

66
00:04:39,290 --> 00:04:42,170
‫ubicación en el lugar y si la plataforma regresa.

67
00:04:42,170 --> 00:04:48,200
‫Así que ahora lo que tenemos es que la distancia recorrida es igual al efecto, una distancia entre la ubicación de

68
00:04:48,200 --> 00:04:50,240
‫inicio y la ubicación actual del actor.

69
00:04:50,870 --> 00:04:55,760
‫Entonces, si eso es mayor que la distancia de movimiento configurada, entonces sí, la plataforma debería regresar.

70
00:04:56,090 --> 00:05:01,460
‫Eso es lo que dice esta función y nos permite usarla en un nivel más alto de abstracción desde

71
00:05:01,460 --> 00:05:03,620
‫dentro y mover la función de plataforma.

72
00:05:04,280 --> 00:05:09,560
‫Ahora notará que ahora se queja de que no podemos mover la distancia para imprimir el sobreimpulso.

73
00:05:09,560 --> 00:05:10,730
‫Bueno, eso no es gran cosa.

74
00:05:11,060 --> 00:05:13,730
‫En realidad, ya no quiero imprimir eso.

75
00:05:13,730 --> 00:05:15,440
‫De todos modos, está arruinando mi función.

76
00:05:15,440 --> 00:05:18,170
‫Así que voy a eliminar la línea de la variable de sobreimpulso.

77
00:05:18,170 --> 00:05:23,330
‫Voy a eliminar la línea de obtener nombre, voy a eliminar el mensaje de registro porque solo

78
00:05:23,330 --> 00:05:26,660
‫estuvo allí temporalmente, de ahí el nombre temporal de registro.

79
00:05:27,350 --> 00:05:28,040
‫Así que ahora me muevo.

80
00:05:28,070 --> 00:05:32,150
‫La función de la plataforma está empezando a verse mucho más limpia.

81
00:05:32,150 --> 00:05:35,360
‫Podemos ver que estamos actualizando la ubicación aquí.

82
00:05:35,480 --> 00:05:38,390
‫Podemos ver si la plataforma debe regresar y si debería hacerlo.

83
00:05:38,390 --> 00:05:41,570
‫Luego estamos actualizando la ubicación y dándole la vuelta.

84
00:05:41,690 --> 00:05:48,440
‫Ahora, una cosa que creo que se vería un poco mejor aquí es si tuviéramos una declaración alt en lugar de tener este

85
00:05:48,770 --> 00:05:51,200
‫montón de código en la parte superior.

86
00:05:51,200 --> 00:05:58,130
‫Entonces, si la plataforma regresa, ejecutaremos esto; de lo contrario, ejecutaremos el código normal en términos

87
00:05:58,130 --> 00:05:59,360
‫de avanzar.

88
00:05:59,630 --> 00:06:05,660
‫Así que recuerda que recordamos cuando hablamos de la declaración alt, que viene después de la declaración

89
00:06:05,660 --> 00:06:07,550
‫if y lo hacemos así.

90
00:06:07,550 --> 00:06:12,770
‫Después de las llaves, tenemos una nueva línea y escribimos else, luego otra nueva línea y abrimos algunos paréntesis nuevos y

91
00:06:12,770 --> 00:06:16,820
‫podemos simplemente mover este código que está aquí arriba en la parte superior de nuestra marca.

92
00:06:17,240 --> 00:06:20,450
‫Podemos tomarlo y moverlo hacia abajo a la declaración alt.

93
00:06:20,450 --> 00:06:22,790
‫Así que ahora parece bastante sencillo.

94
00:06:22,790 --> 00:06:26,660
‫¿Debería la plataforma regresar y luego hacer el código que hace que la plataforma regrese de otra manera?

95
00:06:26,990 --> 00:06:30,740
‫Estamos moviendo la plataforma hacia adelante con nuestra velocidad de plataforma.

96
00:06:30,740 --> 00:06:34,970
‫Ahora me gustaría desafiarte a crear tu propia función con un valor de retorno.

97
00:06:34,970 --> 00:06:38,030
‫Me gustaría que agregara una función para obtener la distancia movida.

98
00:06:38,030 --> 00:06:41,690
‫Así que actualmente hemos calculado esto en una variable llamada distancia movida.

99
00:06:42,080 --> 00:06:45,620
‫Me gustaría que reemplazaras eso con una llamada a una función en su lugar.

100
00:06:46,250 --> 00:06:53,570
‫Entonces debería devolver un flotador porque así es como se movió el tipo de distancia, deberíamos llamarlo en caso de que la

101
00:06:53,570 --> 00:06:54,350
‫plataforma regrese.

102
00:06:54,360 --> 00:06:58,970
‫Entonces, en lugar de usar los efectos de esto, deberíamos usar nuestra propia implementación.

103
00:06:58,970 --> 00:07:00,230
‫Entonces, ¿qué código deberíamos?

104
00:07:01,220 --> 00:07:04,040
‫¿Debería contener con qué entrenador lo ponemos?

105
00:07:04,220 --> 00:07:08,900
‫La sugerencia es que ya escribimos este código, por lo que solo lo está copiando y pegando en la

106
00:07:08,900 --> 00:07:09,470
‫nueva función.

107
00:07:09,770 --> 00:07:14,810
‫Pero piense un poco en cuál debería ser la expresión de devolución, de modo que lo que devolvamos

108
00:07:14,960 --> 00:07:17,150
‫sea el valor de la distancia recorrida.

109
00:07:17,510 --> 00:07:18,950
‫Pausa el video y pruébalo.

110
00:07:22,620 --> 00:07:22,920
‫Bueno.

111
00:07:22,920 --> 00:07:23,580
‫Bienvenido de nuevo.

112
00:07:24,210 --> 00:07:26,090
‫Así que vayamos a Adelante del archivo.

113
00:07:26,100 --> 00:07:33,150
‫Agregaremos una nueva función aquí para el valor de retorno del vuelo llamada obtener la distancia recorrida.

114
00:07:33,330 --> 00:07:38,460
‫Y luego no vamos a tener argumentos entre paréntesis y luego vamos a pasar a nuestra plataforma

115
00:07:38,460 --> 00:07:39,090
‫móvil.

116
00:07:39,090 --> 00:07:51,570
‫CP Vamos a agregar un flotador, una plataforma móvil, dos puntos, la distancia de dos puntos movida o la distancia movida,

117
00:07:51,570 --> 00:07:53,520
‫debería decir paréntesis.

118
00:07:53,520 --> 00:07:57,810
‫Y luego pondremos un nuevo juego de llaves en la siguiente línea.

119
00:07:58,470 --> 00:08:04,230
‫Y lo que queremos devolver es literalmente solo la expresión que estamos usando para crear nuestro flotador de

120
00:08:04,230 --> 00:08:07,890
‫movimiento de distancia para que pueda cortarlo y pegarlo aquí.

121
00:08:07,890 --> 00:08:14,310
‫Por lo tanto, afecta dos puntos, dos puntos, prueba, ubicación de inicio, obtiene la ubicación activa y coloca un punto y coma al final de

122
00:08:14,310 --> 00:08:15,000
‫esa línea.

123
00:08:15,510 --> 00:08:17,550
‫Y eso significa que la plataforma debería regresar.

124
00:08:17,550 --> 00:08:22,320
‫Ahora, en lugar de tener esta variable de movimiento de distancia, voy a eliminar esa línea que está a la mitad.

125
00:08:23,010 --> 00:08:27,300
‫Vamos a volver a mover la distancia.

126
00:08:28,050 --> 00:08:31,920
‫El paréntesis es mayor que la distancia de movimiento.

127
00:08:31,920 --> 00:08:39,600
‫Así que hemos tomado lo que estaba entrando en una variable y lo sacamos a su propia función.

128
00:08:39,600 --> 00:08:45,120
‫Y esto significa que siempre que queramos referirnos a la distancia recorrida, si deseáramos haber mantenido ese

129
00:08:45,120 --> 00:08:51,930
‫mensaje de registro en la plataforma MOVE, entonces podemos simplemente llamar a la función, obtener la distancia recorrida desde cualquiera de

130
00:08:51,930 --> 00:08:53,700
‫las funciones de nuestra clase.

131
00:08:53,880 --> 00:08:54,390
‫Buena cosa.

132
00:08:54,390 --> 00:09:00,840
‫Así que en esta lección hemos aprendido acerca de declaraciones de retorno y valores devueltos y los hemos usado para crear

133
00:09:00,840 --> 00:09:03,030
‫dos nuevas funciones en una clase.

134
00:09:03,060 --> 00:09:04,350
‫Te veré en la próxima conferencia.

