﻿1
00:00:04,440 --> 00:00:05,430
‫Ciao e Benvenuto.

2
00:00:05,430 --> 00:00:10,800
‫E in seguito, esamineremo come restituire valori dalle nostre funzioni utilizzando diversi

3
00:00:10,800 --> 00:00:13,590
‫tipi di ritorno e un'istruzione return.

4
00:00:13,890 --> 00:00:15,960
‫Immergiamoci e vediamo come funziona.

5
00:00:16,950 --> 00:00:24,120
‫Quindi l'ultima lezione, abbiamo detto che se una funzione non restituisce un valore, il tipo restituito dovrebbe essere void, che è

6
00:00:24,210 --> 00:00:25,980
‫quello che abbiamo fatto qui.

7
00:00:25,980 --> 00:00:33,990
‫Ma cosa accadrebbe se volessimo assumere una funzione come quella di verificare in pratica se dovremmo girarci intorno?

8
00:00:34,110 --> 00:00:39,000
‫Sai, questa funzione qui nell'istruzione if, se potessimo dire dovrebbe invece girare, sarebbe una

9
00:00:39,180 --> 00:00:42,540
‫funzione molto più pulita alla fine della giornata.

10
00:00:42,690 --> 00:00:44,490
‫Allora come lo facciamo?

11
00:00:44,490 --> 00:00:49,320
‫Come si ottiene una funzione che può restituire un'espressione booleana?

12
00:00:50,100 --> 00:00:55,800
‫Bene, il modo in cui lo facciamo è semplicemente usando un tipo invece del vuoto.

13
00:00:55,950 --> 00:01:03,480
‫Quindi, se dovessimo restituire una volta un'espressione booleana perché digitiamo bool come faremmo per una variabile.

14
00:01:03,720 --> 00:01:08,100
‫Ma la cosa che distingue la funzione dalla variabile è il fatto che dopo di essa mettiamo delle parentesi

15
00:01:08,100 --> 00:01:10,230
‫che la rendono una funzione piuttosto che una variabile.

16
00:01:10,710 --> 00:01:18,480
‫E quello che potremmo fare è chiamarlo dovrebbe tornare la piattaforma e poi mettiamo le nostre parentesi.

17
00:01:18,480 --> 00:01:24,360
‫E in questo caso, non ho nulla che voglio passare come argomento a questa funzione, quindi posso semplicemente lasciare

18
00:01:24,360 --> 00:01:29,550
‫l'elenco dei parametri vuoto, mettere punto e virgola alla fine della riga e quindi copiare l'intera riga

19
00:01:29,550 --> 00:01:31,560
‫e andare oltre alla piattaforma mobile.

20
00:01:31,560 --> 00:01:36,600
‫CP E proprio alla fine del file, potresti metterlo ovunque tu voglia davvero tra una qualsiasi delle

21
00:01:36,600 --> 00:01:37,080
‫funzioni.

22
00:01:37,080 --> 00:01:39,450
‫Assicurati solo che non sia all'interno di una funzione.

23
00:01:39,870 --> 00:01:41,070
‫Lo incollo qui.

24
00:01:41,130 --> 00:01:45,870
‫Lo farò rientrare e aggiungerò la classe e.

25
00:01:46,820 --> 00:01:48,320
‫La risoluzione di ambito è operativa.

26
00:01:48,320 --> 00:01:56,150
‫Quindi i due punti della piattaforma mobile dovrebbero tornare alla piattaforma, quindi rimuovere il punto e virgola, aggiungere invece alcune parentesi

27
00:01:56,150 --> 00:01:56,630
‫graffe.

28
00:01:57,590 --> 00:02:05,030
‫E quello che vogliamo fare qui è se vogliamo effettivamente restituire un risultato, dobbiamo usare una

29
00:02:05,030 --> 00:02:10,040
‫parola chiave speciale return seguita da un'espressione del tipo corretto.

30
00:02:10,040 --> 00:02:12,170
‫Quindi in questo caso deve essere un'espressione booleana.

31
00:02:12,170 --> 00:02:18,380
‫Quindi potrei restituire true e quindi mettere un punto e virgola alla fine, oppure potrei restituire false e quindi mettere un punto e virgola alla

32
00:02:18,380 --> 00:02:18,860
‫fine.

33
00:02:19,640 --> 00:02:21,290
‫Ma non deve essere così semplice.

34
00:02:21,290 --> 00:02:23,720
‫Potrebbe effettivamente essere qualsiasi espressione.

35
00:02:23,720 --> 00:02:28,940
‫Potrebbe essere un'altra chiamata a una funzione, potrebbe essere una variabile, potrebbe essere l'uso di alcuni

36
00:02:28,940 --> 00:02:31,550
‫operatori come abbiamo qui all'interno della nostra istruzione.

37
00:02:32,120 --> 00:02:34,640
‫Quindi, in effetti, andiamo avanti e proviamo a farlo.

38
00:02:34,820 --> 00:02:36,740
‫Prenderò questa espressione.

39
00:02:36,740 --> 00:02:41,300
‫La distanza percorsa ed è maggiore della distanza in movimento.

40
00:02:41,300 --> 00:02:49,310
‫Lo taglierò e lo metterò come espressione di ritorno per questa funzione di ritorno della

41
00:02:49,310 --> 00:02:49,940
‫piattaforma.

42
00:02:50,600 --> 00:02:56,750
‫Inez si lamenterà qui perché lo spostamento della distanza non è una variabile locale all'interno della nostra funzione di ritorno

43
00:02:56,750 --> 00:02:57,980
‫della piattaforma dovrebbe.

44
00:02:58,610 --> 00:03:00,230
‫Quindi sposteremo altre cose.

45
00:03:00,230 --> 00:03:07,460
‫Ma prima di farlo, non voglio dimenticare di fare una chiamata a questo dovrebbe restituire la piattaforma se l'istruzione dovrebbe restituire

46
00:03:07,460 --> 00:03:14,270
‫la piattaforma e quindi di mettere le parentesi in modo che la funzione venga effettivamente chiamata all'interno della nostra

47
00:03:14,270 --> 00:03:14,840
‫istruzione.

48
00:03:14,850 --> 00:03:17,090
‫Quindi ora sta iniziando a leggere un po' meglio per me.

49
00:03:17,090 --> 00:03:21,140
‫Se la piattaforma dovesse tornare, eseguiamo tutte le seguenti operazioni.

50
00:03:22,250 --> 00:03:29,570
‫Quindi ora quello che dobbiamo fare è portare la variabile di spostamento della distanza che abbiamo nella piattaforma MOVE.

51
00:03:29,570 --> 00:03:31,320
‫In realtà non ne abbiamo bisogno all'interno della piattaforma MOVE.

52
00:03:31,320 --> 00:03:35,960
‫Lo taglierò, lo porterò e lo metterò in riga prima della nostra dichiarazione di reso.

53
00:03:35,960 --> 00:03:43,460
‫Di solito l'istruzione return è l'ultima cosa in una funzione perché una volta che sei tornato da una funzione, in

54
00:03:43,940 --> 00:03:45,530
‫realtà non fai nient'altro.

55
00:03:45,530 --> 00:03:53,930
‫Se dovessi inserire qualcosa come un messaggio di registro, quindi ti inserirò il registro dopo la mia dichiarazione di ritorno con una sorta

56
00:03:53,930 --> 00:03:54,800
‫di messaggio.

57
00:03:55,430 --> 00:04:01,730
‫Di solito quello che succede è che riceverai un avviso dal tuo compilatore che dice che questa riga

58
00:04:01,730 --> 00:04:05,270
‫non verrà mai raggiunta e che probabilmente non intendevi farlo.

59
00:04:05,840 --> 00:04:08,690
‫Quindi la dichiarazione di ritorno di solito è l'ultima cosa.

60
00:04:09,590 --> 00:04:16,640
‫Quindi, dopo aver attraversato la linea che definisce la distanza percorsa nella nostra funzione di ritorno della piattaforma dovrebbe, puoi vedere

61
00:04:16,850 --> 00:04:22,490
‫che ora sta dicendo, ehi, non ho una posizione corrente e beh, la posizione attuale possiamo

62
00:04:22,490 --> 00:04:28,070
‫semplicemente afferrare molto facilmente, abbiamo imposta la posizione corrente appena prima della chiamata dovrebbe tornare la

63
00:04:28,070 --> 00:04:28,550
‫piattaforma.

64
00:04:28,550 --> 00:04:32,270
‫Quindi effettivamente ottenere una posizione attiva è esattamente ciò che vogliamo.

65
00:04:32,270 --> 00:04:38,690
‫Quindi lo metterò al posto di una variabile, farò solo una chiamata per raggiungere una posizione

66
00:04:39,290 --> 00:04:42,170
‫sul posto e dovrei restituire la piattaforma.

67
00:04:42,170 --> 00:04:48,200
‫Quindi ora quello che abbiamo è che la distanza percorsa è uguale all'effetto, una distanza tra la posizione

68
00:04:48,200 --> 00:04:50,240
‫iniziale e la posizione corrente dell'attore.

69
00:04:50,870 --> 00:04:55,760
‫Quindi, se è maggiore della distanza di spostamento configurata, allora sì, la piattaforma dovrebbe tornare.

70
00:04:56,090 --> 00:05:01,460
‫Questo è ciò che sta dicendo questa funzione e ci consente di utilizzarla a un livello più elevato di astrazione

71
00:05:01,460 --> 00:05:03,620
‫dall'interno e spostare la funzione della piattaforma.

72
00:05:04,280 --> 00:05:09,560
‫Ora noterai che ora si lamenta del fatto che non possiamo spostare la distanza per superare il superamento della stampa.

73
00:05:09,560 --> 00:05:10,730
‫Beh, non è un grosso problema.

74
00:05:11,060 --> 00:05:13,730
‫In realtà non voglio più stamparlo.

75
00:05:13,730 --> 00:05:15,440
‫Comunque è un po' incasinato la mia funzione.

76
00:05:15,440 --> 00:05:18,170
‫Quindi eliminerò la linea della variabile di overshoot.

77
00:05:18,170 --> 00:05:23,330
‫Eliminerò la riga del nome get, eliminerò il messaggio di registro perché era presente

78
00:05:23,330 --> 00:05:26,660
‫solo temporaneamente, da qui il nome temporaneo del registro.

79
00:05:27,350 --> 00:05:28,040
‫Quindi ora mi muovo.

80
00:05:28,070 --> 00:05:32,150
‫La funzione della piattaforma inizia a sembrare molto più pulita.

81
00:05:32,150 --> 00:05:35,360
‫Possiamo vedere che stiamo facendo alcuni aggiornamenti della posizione qui.

82
00:05:35,480 --> 00:05:38,390
‫Possiamo vedere se la piattaforma dovrebbe tornare e se dovrebbe.

83
00:05:38,390 --> 00:05:41,570
‫Quindi stiamo aggiornando la posizione e capovolgendola.

84
00:05:41,690 --> 00:05:48,440
‫Ora, una cosa che penso sembrerebbe un po' meglio qui è se avessimo un'istruzione alt invece di avere

85
00:05:48,770 --> 00:05:51,200
‫questo mucchio di codice in alto.

86
00:05:51,200 --> 00:05:58,130
‫Quindi, se la piattaforma dovesse tornare, eseguiremo quest'altro, eseguiremo il codice normale in termini

87
00:05:58,130 --> 00:05:59,360
‫di avanzamento.

88
00:05:59,630 --> 00:06:05,660
‫Quindi ricorda che abbiamo riportato la tua mente a quando abbiamo parlato dell'istruzione alt, viene solo dopo l'istruzione if e

89
00:06:05,660 --> 00:06:07,550
‫lo facciamo in questo modo.

90
00:06:07,550 --> 00:06:12,770
‫Dopo le parentesi graffe, abbiamo una nuova riga e scriviamo else, quindi un'altra nuova riga e apriamo alcune nuove parentesi e possiamo

91
00:06:12,770 --> 00:06:16,820
‫semplicemente spostare questo codice che è qui sopra nella parte superiore del nostro segno di spunta.

92
00:06:17,240 --> 00:06:20,450
‫Possiamo prenderlo e spostarlo nell'istruzione alt.

93
00:06:20,450 --> 00:06:22,790
‫Quindi ora sembra piuttosto semplice.

94
00:06:22,790 --> 00:06:26,660
‫La piattaforma dovrebbe restituire, quindi fare il codice che restituisce la piattaforma?

95
00:06:26,990 --> 00:06:30,740
‫Stiamo portando avanti la piattaforma con la nostra velocità della piattaforma.

96
00:06:30,740 --> 00:06:34,970
‫Ora vorrei sfidarti a creare la tua funzione con un valore di ritorno.

97
00:06:34,970 --> 00:06:38,030
‫Vorrei che aggiungessi una funzione di spostamento della distanza.

98
00:06:38,030 --> 00:06:41,690
‫Quindi attualmente lo abbiamo calcolato in una variabile chiamata distanza percorsa.

99
00:06:42,080 --> 00:06:45,620
‫Vorrei invece che lo sostituissi con una chiamata a una funzione.

100
00:06:46,250 --> 00:06:53,570
‫Quindi dovrebbe restituire un float perché è così che il tipo di distanza si è spostato, dovremmo chiamarlo in caso di ritorno

101
00:06:53,570 --> 00:06:54,350
‫della piattaforma.

102
00:06:54,360 --> 00:06:58,970
‫Quindi, invece di usare gli effetti di questo, dovremmo usare la nostra implementazione.

103
00:06:58,970 --> 00:07:00,230
‫Quindi quale codice dovremmo?

104
00:07:01,220 --> 00:07:04,040
‫Dovrebbe contenere con quale allenatore ci mettiamo dentro?

105
00:07:04,220 --> 00:07:08,900
‫Il suggerimento è che abbiamo già digitato questo codice, quindi lo stai semplicemente copiando e incollando nella

106
00:07:08,900 --> 00:07:09,470
‫nuova funzione.

107
00:07:09,770 --> 00:07:14,810
‫Ma pensa un po' a quale dovrebbe essere l'espressione di ritorno, in modo tale che ciò che stiamo

108
00:07:14,960 --> 00:07:17,150
‫restituendo sia il valore della distanza spostata.

109
00:07:17,510 --> 00:07:18,950
‫Metti in pausa il video e prova.

110
00:07:22,620 --> 00:07:22,920
‫Bene.

111
00:07:22,920 --> 00:07:23,580
‫Ben tornato.

112
00:07:24,210 --> 00:07:26,090
‫Quindi andiamo su Ahead of file.

113
00:07:26,100 --> 00:07:33,150
‫Aggiungeremo qui una nuova funzione per il valore di ritorno del volo chiamata ottenere distanza spostata.

114
00:07:33,330 --> 00:07:38,460
‫E poi non avremo argomenti tra parentesi e poi passeremo alla nostra piattaforma

115
00:07:38,460 --> 00:07:39,090
‫mobile.

116
00:07:39,090 --> 00:07:51,570
‫CP Aggiungeremo un float, una piattaforma mobile, i due punti, la distanza dei due punti spostata o la distanza spostata,

117
00:07:51,570 --> 00:07:53,520
‫dovrei dire parentesi.

118
00:07:53,520 --> 00:07:57,810
‫E poi metteremo un nuovo set di parentesi graffe nella riga successiva.

119
00:07:58,470 --> 00:08:04,230
‫E quello che vogliamo restituire è letteralmente solo l'espressione che stiamo usando per creare il nostro galleggiante di

120
00:08:04,230 --> 00:08:07,890
‫spostamento della distanza in modo da poterlo ritagliare e incollarlo qui.

121
00:08:07,890 --> 00:08:14,310
‫Quindi influisce sui due punti, sui due punti, sul test, sulla posizione iniziale, sulla posizione attiva e sul punto e virgola alla fine di

122
00:08:14,310 --> 00:08:15,000
‫quella riga.

123
00:08:15,510 --> 00:08:17,550
‫E ciò significa che la piattaforma dovrebbe tornare.

124
00:08:17,550 --> 00:08:22,320
‫Ora invece di avere questa variabile di spostamento della distanza, eliminerò quella linea che è completata a metà.

125
00:08:23,010 --> 00:08:27,300
‫Torneremo a spostarci di distanza.

126
00:08:28,050 --> 00:08:31,920
‫Le parentesi sono maggiori della distanza di spostamento.

127
00:08:31,920 --> 00:08:39,600
‫Quindi abbiamo in qualche modo preso ciò che stava andando in una variabile e invece l'abbiamo tirato fuori nella sua stessa funzione.

128
00:08:39,600 --> 00:08:45,120
‫E questo significa che ogni volta che vogliamo fare riferimento alla distanza percorsa, se volessimo mantenere

129
00:08:45,120 --> 00:08:51,930
‫quel messaggio di registro nella piattaforma MOVE, allora possiamo semplicemente chiamare la funzione, ottenere la distanza spostata da una qualsiasi

130
00:08:51,930 --> 00:08:53,700
‫delle funzioni della nostra classe.

131
00:08:53,880 --> 00:08:54,390
‫Roba fantastica.

132
00:08:54,390 --> 00:09:00,840
‫Quindi in questa lezione abbiamo appreso le istruzioni di ritorno e i valori di ritorno e li abbiamo usati per creare

133
00:09:00,840 --> 00:09:03,030
‫due nuove funzioni in una classe.

134
00:09:03,060 --> 00:09:04,350
‫Ci vediamo alla prossima lezione.

