﻿1
00:00:04,440 --> 00:00:05,430
‫Hallo en welkom.

2
00:00:05,430 --> 00:00:10,800
‫En hierna gaan we kijken hoe we waarden uit onze functies kunnen retourneren met

3
00:00:10,800 --> 00:00:13,590
‫behulp van verschillende retourtypen en een retourstatement.

4
00:00:13,890 --> 00:00:15,960
‫Laten we erin duiken en kijken hoe dit werkt.

5
00:00:16,950 --> 00:00:24,120
‫Dus tijdens de laatste lezing zeiden we dat als een functie geen waarde retourneert, het retourtype ongeldig moet zijn, wat

6
00:00:24,210 --> 00:00:25,980
‫we hier hebben gedaan.

7
00:00:25,980 --> 00:00:33,990
‫Maar wat als we een functie willen nemen zoals krijgen in feite controleren of we ons moeten omdraaien?

8
00:00:34,110 --> 00:00:39,000
‫Weet je, deze functie hier in de if-instructie, als we zouden kunnen zeggen dat we in plaats daarvan zouden moeten omdraaien,

9
00:00:39,180 --> 00:00:42,540
‫zou het aan het eind van de dag een veel schonere functie zijn.

10
00:00:42,690 --> 00:00:44,490
‫Dus hoe doen we dat?

11
00:00:44,490 --> 00:00:49,320
‫Hoe bereiken we een functie die een Booleaanse uitdrukking kan retourneren?

12
00:00:50,100 --> 00:00:55,800
‫Welnu, de manier waarop we het doen, is simpelweg door een type te gebruiken in plaats van de leegte.

13
00:00:55,950 --> 00:01:03,480
‫Dus als we ooit een booleaanse uitdrukking zouden retourneren omdat we bool zouden typen zoals we zouden doen voor een variabele.

14
00:01:03,720 --> 00:01:08,100
‫Maar wat de functie van de variabele onderscheidt, is het feit dat we er haakjes achter zetten, waardoor het

15
00:01:08,100 --> 00:01:10,230
‫een functie wordt in plaats van een variabele.

16
00:01:10,710 --> 00:01:18,480
‫En wat we zouden kunnen doen, is dat het platform moet terugkeren en dan zetten we onze haakjes.

17
00:01:18,480 --> 00:01:24,360
‫En in dit geval heb ik niets dat ik als argument aan deze functie wil doorgeven, dus ik kan de parameterlijst

18
00:01:24,360 --> 00:01:29,550
‫gewoon leeg laten, een puntkomma aan het einde van de regel plaatsen en dan deze hele regel kopiëren

19
00:01:29,550 --> 00:01:31,560
‫en overlopen naar het bewegende platform.

20
00:01:31,560 --> 00:01:36,600
‫CP En helemaal aan het einde van het bestand, je zou het overal kunnen plaatsen waar je maar wilt, echt tussen een van

21
00:01:36,600 --> 00:01:37,080
‫de functies.

22
00:01:37,080 --> 00:01:39,450
‫Zorg ervoor dat het niet in een functie staat.

23
00:01:39,870 --> 00:01:41,070
‫Ik ga het hier plakken.

24
00:01:41,130 --> 00:01:45,870
‫Ik ga het inspringen en ik ga de klasse toevoegen en.

25
00:01:46,820 --> 00:01:48,320
‫De scope resolutie werkt.

26
00:01:48,320 --> 00:01:56,150
‫Dus een dubbele puntkomma met bewegend platform moet het platform terugkeren, verwijder dan de puntkomma en voeg in plaats daarvan enkele accolades

27
00:01:56,150 --> 00:01:56,630
‫toe.

28
00:01:57,590 --> 00:02:05,030
‫En wat we hier willen doen, is dat als we daadwerkelijk een resultaat willen retourneren, we een speciaal

29
00:02:05,030 --> 00:02:10,040
‫trefwoord return moeten gebruiken, gevolgd door een expressie van het juiste type.

30
00:02:10,040 --> 00:02:12,170
‫Dus in dit geval moet het een booleaanse uitdrukking zijn.

31
00:02:12,170 --> 00:02:18,380
‫Dus ik kan true retourneren en dan een puntkomma aan het einde zetten, of ik kan false retourneren en dan een puntkomma aan het einde

32
00:02:18,380 --> 00:02:18,860
‫zetten.

33
00:02:19,640 --> 00:02:21,290
‫Maar zo eenvoudig hoeft het niet te zijn.

34
00:02:21,290 --> 00:02:23,720
‫Het kan eigenlijk elke uitdrukking zijn.

35
00:02:23,720 --> 00:02:28,940
‫Het kan een andere aanroep van een functie zijn, het kan een variabele zijn, het kan een gebruik zijn van

36
00:02:28,940 --> 00:02:31,550
‫enkele operators zoals we hier in onze verklaring hebben.

37
00:02:32,120 --> 00:02:34,640
‫Laten we dus in feite doorgaan en proberen dat te doen.

38
00:02:34,820 --> 00:02:36,740
‫Ik ga deze uitdrukking aannemen.

39
00:02:36,740 --> 00:02:41,300
‫De verplaatste afstand is groter dan de verplaatsingsafstand.

40
00:02:41,300 --> 00:02:49,310
‫Ik ga het uitknippen en ik ga het plaatsen als de retouruitdrukking voor deze functie voor het terugkeren van het

41
00:02:49,310 --> 00:02:49,940
‫platform.

42
00:02:50,600 --> 00:02:56,750
‫Inez gaat hier klagen omdat afstandsverplaatsing geen lokale variabele is binnen onze functie voor het

43
00:02:56,750 --> 00:02:57,980
‫retourneren van platforms.

44
00:02:58,610 --> 00:03:00,230
‫Dus we gaan nog wat dingen verplaatsen.

45
00:03:00,230 --> 00:03:07,460
‫Maar voordat we dat doen, wil ik niet vergeten om dit aan te roepen als het platform terugkeert in de if-instructie,

46
00:03:07,460 --> 00:03:14,270
‫dus als het platform terugkeert, en dan de haakjes te plaatsen zodat de functie daadwerkelijk in onze instructie wordt

47
00:03:14,270 --> 00:03:14,840
‫aangeroepen.

48
00:03:14,850 --> 00:03:17,090
‫Dus nu begint het me wat beter te lezen.

49
00:03:17,090 --> 00:03:21,140
‫Als het platform zou terugkeren, doen we al het volgende.

50
00:03:22,250 --> 00:03:29,570
‫Dus wat we nu moeten doen, is de variabele afstand verplaatsen die we in het MOVE-platform hebben.

51
00:03:29,570 --> 00:03:31,320
‫We hebben het niet echt nodig binnen het MOVE-platform.

52
00:03:31,320 --> 00:03:35,960
‫Ik ga het uitknippen en meenemen en op de lijn zetten voor onze retourverklaring.

53
00:03:35,960 --> 00:03:43,460
‫Gewoonlijk is de return-instructie het laatste in een functie, want als je eenmaal uit een functie bent teruggekeerd, doe

54
00:03:43,940 --> 00:03:45,530
‫je eigenlijk niets anders.

55
00:03:45,530 --> 00:03:53,930
‫Als ik zoiets als een logbericht zou plaatsen, dan plaats ik je log na mijn retourverklaring met een soort

56
00:03:53,930 --> 00:03:54,800
‫bericht.

57
00:03:55,430 --> 00:04:01,730
‫Wat er meestal gaat gebeuren, is dat je een waarschuwing krijgt van je compiler die zegt dat deze regel nooit zal worden bereikt

58
00:04:01,730 --> 00:04:05,270
‫en dat het waarschijnlijk niet je bedoeling was om dat te doen.

59
00:04:05,840 --> 00:04:08,690
‫Dus de retourverklaring is meestal het laatste.

60
00:04:09,590 --> 00:04:16,640
‫Dus nadat we over de lijn zijn gegaan die de afstand definieert die is verplaatst in onze functie voor het terugkeren van het platform,

61
00:04:16,850 --> 00:04:22,490
‫kun je zien dat het nu zegt, hey, ik heb geen huidige locatie en de huidige locatie die we

62
00:04:22,490 --> 00:04:28,070
‫heel gemakkelijk kunnen pakken, we hebben stel de huidige locatie in net voordat we bellen als het platform

63
00:04:28,070 --> 00:04:28,550
‫terugkeert.

64
00:04:28,550 --> 00:04:32,270
‫Dus daadwerkelijk een actieve locatie krijgen is precies wat we willen.

65
00:04:32,270 --> 00:04:38,690
‫Dus ik ga dat gewoon in plaats van een variabele plaatsen, ik ga gewoon een oproep plaatsen om op een locatie in

66
00:04:39,290 --> 00:04:42,170
‫de plaats te komen en als het platform terugkeert.

67
00:04:42,170 --> 00:04:48,200
‫Wat we nu hebben, is dat de verplaatste afstand gelijk is aan het effect, een afstand tussen de startlocatie en

68
00:04:48,200 --> 00:04:50,240
‫de huidige locatie van de acteur.

69
00:04:50,870 --> 00:04:55,760
‫Dus als dat groter is dan de geconfigureerde verplaatsingsafstand, ja, dan zou het platform moeten terugkeren.

70
00:04:56,090 --> 00:05:01,460
‫Dat is wat deze functie zegt en het stelt ons in staat om het van binnenuit op een hoger abstractieniveau

71
00:05:01,460 --> 00:05:03,620
‫te gebruiken en de platformfunctie te verplaatsen.

72
00:05:04,280 --> 00:05:09,560
‫Nu zul je merken dat het nu klaagt dat we de afstand niet kunnen verplaatsen om overschrijding te printen.

73
00:05:09,560 --> 00:05:10,730
‫Nou, dat is niet erg.

74
00:05:11,060 --> 00:05:13,730
‫Ik wil dat eigenlijk niet meer afdrukken.

75
00:05:13,730 --> 00:05:15,440
‫Het verpest sowieso mijn functie.

76
00:05:15,440 --> 00:05:18,170
‫Dus ik ga de overshoot variabele lijn verwijderen.

77
00:05:18,170 --> 00:05:23,330
‫Ik ga de get-naamregel verwijderen, ik ga het logbericht verwijderen omdat het

78
00:05:23,330 --> 00:05:26,660
‫er slechts tijdelijk was, vandaar de log-temp-naam.

79
00:05:27,350 --> 00:05:28,040
‫Dus nu ga ik verhuizen.

80
00:05:28,070 --> 00:05:32,150
‫Platformfunctie begint er een stuk schoner uit te zien.

81
00:05:32,150 --> 00:05:35,360
‫We kunnen zien dat we de locatie hier wat bijwerken.

82
00:05:35,480 --> 00:05:38,390
‫We kunnen zien of het platform moet terugkeren en zo ja.

83
00:05:38,390 --> 00:05:41,570
‫Dan werken we de locatie bij en draaien we hem om.

84
00:05:41,690 --> 00:05:48,440
‫Nu, een ding waarvan ik denk dat het er hier een beetje beter uit zou zien, is als we een alt-instructie hadden

85
00:05:48,770 --> 00:05:51,200
‫in plaats van deze reeks code bovenaan.

86
00:05:51,200 --> 00:05:58,130
‫Dus als het platform zou terugkeren, zullen we dit uitvoeren, anders zullen we de normale code uitvoeren om het

87
00:05:58,130 --> 00:05:59,360
‫vooruit te helpen.

88
00:05:59,630 --> 00:06:05,660
‫Dus onthoud dat we terugdenken aan het moment waarop we het hadden over de alt-verklaring, het komt gewoon na en als-verklaring

89
00:06:05,660 --> 00:06:07,550
‫en we doen het gewoon zo.

90
00:06:07,550 --> 00:06:12,770
‫Na de accolades hebben we een nieuwe regel en typen we anders, dan nog een nieuwe regel en openen enkele

91
00:06:12,770 --> 00:06:16,820
‫nieuwe haakjes en we kunnen deze code die hier bovenaan ons vinkje staat gewoon verplaatsen.

92
00:06:17,240 --> 00:06:20,450
‫We kunnen het nemen en naar het alt-statement verplaatsen.

93
00:06:20,450 --> 00:06:22,790
‫Dus nu lijkt het vrij rechttoe rechtaan.

94
00:06:22,790 --> 00:06:26,660
‫Moet het platform terugkeren en dan de code doen die het platform anders doet?

95
00:06:26,990 --> 00:06:30,740
‫We bewegen het platform vooruit met onze platformsnelheid.

96
00:06:30,740 --> 00:06:34,970
‫Nu wil ik je uitdagen om je eigen functie te maken met een retourwaarde.

97
00:06:34,970 --> 00:06:38,030
‫Ik zou graag willen dat je een functie voor het verplaatsen van afstand toevoegt.

98
00:06:38,030 --> 00:06:41,690
‫Dus we hebben dit momenteel berekend in een variabele die verplaatste afstand wordt genoemd.

99
00:06:42,080 --> 00:06:45,620
‫Ik zou willen dat je dat vervangt door een aanroep van een functie.

100
00:06:46,250 --> 00:06:53,570
‫Dus het zou een vlotter moeten retourneren, want dat is hoe het type afstand wordt verplaatst, we zouden het moeten inschakelen als het

101
00:06:53,570 --> 00:06:54,350
‫platform terugkeert.

102
00:06:54,360 --> 00:06:58,970
‫Dus in plaats van de effecten hiervan te gebruiken, zouden we onze eigen implementatie moeten gebruiken.

103
00:06:58,970 --> 00:07:00,230
‫Dus welke code moeten we?

104
00:07:01,220 --> 00:07:04,040
‫Moet er in staan met welke coach we erin gaan?

105
00:07:04,220 --> 00:07:08,900
‫De hint is dat we deze code al hebben getypt, dus je kopieert en plakt hem gewoon in de

106
00:07:08,900 --> 00:07:09,470
‫nieuwe functie.

107
00:07:09,770 --> 00:07:14,810
‫Maar denk even na over wat de return-expressie zou moeten zijn, zodat we de

108
00:07:14,960 --> 00:07:17,150
‫waarde voor de verplaatste afstand retourneren.

109
00:07:17,510 --> 00:07:18,950
‫Pauzeer de video en probeer het.

110
00:07:22,620 --> 00:07:22,920
‫Oké.

111
00:07:22,920 --> 00:07:23,580
‫Welkom terug.

112
00:07:24,210 --> 00:07:26,090
‫Dus laten we naar Ahead of file gaan.

113
00:07:26,100 --> 00:07:33,150
‫We zullen hier een nieuwe functie toevoegen voor de vluchtretourwaarde genaamd afstand verplaatsen.

114
00:07:33,330 --> 00:07:38,460
‫En dan hebben we geen argumenten tussen haakjes en dan gaan we naar ons bewegende

115
00:07:38,460 --> 00:07:39,090
‫platform.

116
00:07:39,090 --> 00:07:51,570
‫CP We gaan een drijver toevoegen, een bewegend platform, dubbele punt, dubbele punt afstand verplaatst of afstand verplaatst, ik zou

117
00:07:51,570 --> 00:07:53,520
‫haakjes moeten zeggen.

118
00:07:53,520 --> 00:07:57,810
‫En dan plaatsen we een nieuwe set beugels op de volgende regel.

119
00:07:58,470 --> 00:08:04,230
‫En wat we willen teruggeven is letterlijk gewoon de uitdrukking die we gebruiken om onze afstandsbeweging float

120
00:08:04,230 --> 00:08:07,890
‫te creëren, zodat ik dat kan uitknippen en hier plakken.

121
00:08:07,890 --> 00:08:14,310
‫Dus het is van invloed op dubbele punt, dubbele punt, test, startlocatie, krijg actieve locatie en plaats een puntkomma aan het einde van

122
00:08:14,310 --> 00:08:15,000
‫die regel.

123
00:08:15,510 --> 00:08:17,550
‫En dat betekent dat het in moet platform terugkeren.

124
00:08:17,550 --> 00:08:22,320
‫In plaats van deze afstandsverplaatsingsvariabele te hebben, ga ik die regel verwijderen die half voltooid is.

125
00:08:23,010 --> 00:08:27,300
‫We gaan terug om de afstand te verplaatsen.

126
00:08:28,050 --> 00:08:31,920
‫Haakjes is groter dan de verplaatsingsafstand.

127
00:08:31,920 --> 00:08:39,600
‫Dus we hebben een soort van genomen wat er in een variabele ging en in plaats daarvan naar zijn eigen functie getrokken.

128
00:08:39,600 --> 00:08:45,120
‫En dit betekent dat wanneer we willen verwijzen naar de verplaatste afstand, als we dat

129
00:08:45,120 --> 00:08:51,930
‫logbericht in het MOVE-platform wilden bewaren, we eenvoudig de functie kunnen aanroepen, afstand verplaatsen van een van de

130
00:08:51,930 --> 00:08:53,700
‫functies in onze klasse.

131
00:08:53,880 --> 00:08:54,390
‫Goed spul.

132
00:08:54,390 --> 00:09:00,840
‫Dus in deze lezing hebben we geleerd over return-statements en return-waarden en we hebben ze gebruikt om twee nieuwe

133
00:09:00,840 --> 00:09:03,030
‫functies in een klasse te creëren.

134
00:09:03,060 --> 00:09:04,350
‫Ik zie je in de volgende lezing.

