All language subtitles for 7. [Dart] Functions - Part 3-fr
Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
0
1
00:00:00,760 --> 00:00:07,170
Donc, dans la dernière leçon, nous sommes tombés sur cette erreur ici où elle nous dit que cette expression ici, notre
1
2
00:00:07,180 --> 00:00:12,960
Fonction clé, a un type de vide et ne peut donc pas être utilisée ici.
2
3
00:00:12,970 --> 00:00:19,520
Donc, pour résoudre cette énigme, nous devons comprendre un peu plus le fonctionnement des fonctions.
3
4
00:00:19,650 --> 00:00:22,590
Alors ici, j'ai tout supprimé de mon dartpad
4
5
00:00:22,680 --> 00:00:28,620
autre que la fonction principale. Et je vais créer une nouvelle fonction. Je vais l'appeler ma fonction,
5
6
00:00:29,310 --> 00:00:35,940
et il n'y aura aucune entrée, donc je vais laisser les parenthèses ici vides, mais cela fera l'affaire
6
7
00:00:35,940 --> 00:00:43,170
quelque chose. Entre les accolades, je vais créer une nouvelle variable qui va contenir des valeurs
7
8
00:00:43,200 --> 00:00:49,740
du type double, et ça s'appellera pi. Donc pi sera son nom. Et je vais le mettre à égalité
8
9
00:00:49,740 --> 00:00:59,190
3,14159, la valeur du pi mathématique. Et dans ma fonction, tout ce qui va arriver est
9
10
00:00:59,190 --> 00:01:03,510
cette valeur pi, elle sera multipliée par deux.
10
11
00:01:03,780 --> 00:01:10,740
Maintenant que j'ai ma fonction créée, nous savons que la fonction principale est le point d'entrée de tous nos Dart
11
12
00:01:10,740 --> 00:01:11,080
des dossiers.
12
13
00:01:11,100 --> 00:01:16,870
Donc, chaque fois que nous frappons run, il va regarder à l'intérieur ici pour voir ce qui devrait se passer. À l'intérieur ici,
13
14
00:01:16,890 --> 00:01:22,380
Je vais appeler cette fonction que je viens de créer, qui s'appelle myFunction, et elle en aura
14
15
00:01:22,440 --> 00:01:25,150
parenthèses vides car il ne prend pas d'entrées.
15
16
00:01:25,290 --> 00:01:30,740
Et maintenant, si je clique sur Exécuter, vous pouvez voir que pratiquement rien ne se passe.
16
17
00:01:30,740 --> 00:01:36,300
Maintenant, d'abord parce que je n'imprime vraiment rien sur la console, et tout cela se passe juste derrière
17
18
00:01:36,300 --> 00:01:39,580
les scènes sans que nous puissions voir ce qui se passe.
18
19
00:01:40,380 --> 00:01:47,160
Mais rassurez-vous, cela est appelé et cela est en fait effectué et nous pouvons nous en assurer
19
20
00:01:47,160 --> 00:01:49,840
en ajoutant simplement une instruction d'impression ici.
20
21
00:01:49,860 --> 00:01:59,460
Imprimons et disons que «ma fonction a été appelée». Nous savons que si cela est imprimé dans la console, alors
21
22
00:01:59,550 --> 00:02:03,780
cela doit avoir été déclenché avec succès depuis notre fonction principale.
22
23
00:02:03,780 --> 00:02:05,130
Et c'est effectivement le cas.
23
24
00:02:05,130 --> 00:02:10,410
Nous pouvons donc être sûrs que ces instructions sont effectivement exécutées.
24
25
00:02:10,410 --> 00:02:17,130
Mais comment saisir cette valeur, ce pi * 2? Un peu comme le résultat de cette fonction,
25
26
00:02:17,130 --> 00:02:17,370
droite?
26
27
00:02:17,370 --> 00:02:21,390
Comment pouvons-nous nous en emparer et l'intégrer dans notre fonction principale?
27
28
00:02:21,420 --> 00:02:28,650
Et si nous voulions obtenir quelque chose de cette fonction pour qu'une fois que nous exécutions cette fonction, elle produise
28
29
00:02:28,680 --> 00:02:36,330
la valeur calculée et ensuite nous pouvons la stocker dans une variable? Appelons cela peut-être résultat.
29
30
00:02:36,810 --> 00:02:42,300
Et puis nous pourrions peut-être simplement imprimer le résultat de notre fonction principale.
30
31
00:02:42,300 --> 00:02:47,280
Donc, dans ce cas, nous essayons essentiellement de faire quelque chose à l'intérieur de ma fonction.
31
32
00:02:47,280 --> 00:02:53,940
Et puis une fois les résultats calculés, nous voulons que cela soit transporté dans notre fonction principale
32
33
00:02:54,210 --> 00:02:58,340
afin que nous puissions l'utiliser ici pour faire d'autres choses comme l'imprimer.
33
34
00:02:58,350 --> 00:03:00,500
Maintenant, pour le moment, cela ne fonctionne pas.
34
35
00:03:00,600 --> 00:03:07,110
Et quand je clique sur Exécuter, vous pouvez voir que l'erreur que j'obtiens, à la fois du vérificateur d'erreurs Dart
35
36
00:03:07,110 --> 00:03:08,490
comme dans la console,
36
37
00:03:08,490 --> 00:03:16,330
cela me dit que l'expression ici a un type de vide et ne peut donc pas être utilisée.
37
38
00:03:16,350 --> 00:03:18,340
Et il pointe vers cette partie,
38
39
00:03:18,350 --> 00:03:19,890
myFunction.
39
40
00:03:20,110 --> 00:03:25,060
Maintenant, si cela vous semble familier, c'est parce que c'est la même erreur que nous avons commise ici.
40
41
00:03:25,480 --> 00:03:27,100
Qu'est-ce que cela signifie?
41
42
00:03:27,100 --> 00:03:35,830
Eh bien, cela signifie que cette fonction ne produit actuellement rien. Il produit vide, qui dans
42
43
00:03:35,830 --> 00:03:39,750
langage de programmation, signifie essentiellement qu'il n'y a pas de sortie.
43
44
00:03:39,760 --> 00:03:43,490
Et si nous voulions qu'il nous donne une sortie?
44
45
00:03:43,540 --> 00:03:48,430
Eh bien, nous changerions cela de vide au type de données de la sortie.
45
46
00:03:48,460 --> 00:03:52,710
Alors disons dans ce cas, nous multiplions pi par 2.
46
47
00:03:52,720 --> 00:03:56,130
Ce sera toujours un nombre avec des décimales, n'est-ce pas?
47
48
00:03:56,290 --> 00:04:00,270
Le type de données de la sortie sera donc toujours un double.
48
49
00:04:00,850 --> 00:04:06,670
Et la dernière chose que nous devons faire, c'est que nous devons marquer la chose que nous voulons sortir de la fonction
49
50
00:04:07,000 --> 00:04:09,190
avec le mot-clé return.
50
51
00:04:09,220 --> 00:04:13,940
Alors maintenant que nous avons mis à jour notre code, notre erreur disparaît
51
52
00:04:13,960 --> 00:04:20,630
et quand je clique sur exécuter, nous obtenons en fait 6.28318 imprimé ici.
52
53
00:04:20,860 --> 00:04:24,880
Et rappelez-vous que l'instruction d'impression est à l'intérieur de notre fonction principale.
53
54
00:04:25,270 --> 00:04:30,040
Donc, pour qu'il puisse saisir ce résultat, il a dû appeler ma fonction.
54
55
00:04:30,040 --> 00:04:38,290
Nous avons donc dû exécuter ces deux lignes de code, puis le résultat de pi * 2 est sorti de ma fonction,
55
56
00:04:38,560 --> 00:04:44,010
transporté ici et affecté à ce résultat variable.
56
57
00:04:44,060 --> 00:04:51,920
Et c'est ainsi que nous pouvons l'imprimer dans la console. C'est ainsi que nous résoudrions le problème
57
58
00:04:51,920 --> 00:04:53,780
nous avons avec notre application Xylophone.
58
59
00:04:54,080 --> 00:04:58,240
Mais comment fonctionnent exactement les fonctions qui ont des sorties?
59
60
00:04:58,250 --> 00:05:05,140
Explorons cela un peu plus en détail. Auparavant, lorsque nous parlions du deuxième type de fonction,
60
61
00:05:05,140 --> 00:05:07,580
donc des fonctions qui peuvent prendre des entrées,
61
62
00:05:07,630 --> 00:05:15,370
nous avons vu que nous pouvions mettre un type de données entre parenthèses et donner un nom à l'entrée, de sorte que lorsque nous
62
63
00:05:15,370 --> 00:05:22,510
appelez getMilk nous pourrions fournir une valeur ici et cette valeur sera ensuite utilisée dans la fonction ou
63
64
00:05:22,510 --> 00:05:24,490
à l'intérieur des accolades.
64
65
00:05:24,490 --> 00:05:30,850
Donc, dans ce cas par exemple, notre fonction getMilk prend une valeur, qui est le montant d'argent que le
65
66
00:05:30,850 --> 00:05:34,450
le robot a acheté une seule bouteille de lait,
66
67
00:05:34,450 --> 00:05:40,330
et cette valeur est utilisée pour calculer la quantité de changement que le robot devrait récupérer. Qui est le
67
68
00:05:40,330 --> 00:05:45,760
montant d'argent qu'il a reçu moins le prix d'une seule bouteille de lait.
68
69
00:05:45,760 --> 00:05:47,410
Donc argent moins deux.
69
70
00:05:47,410 --> 00:05:50,290
Et nous nous retrouvons avec le changement.
70
71
00:05:50,290 --> 00:05:54,370
Maintenant, comment pouvons-nous obtenir ce changement de cette fonction?
71
72
00:05:54,400 --> 00:06:01,460
Eh bien dans ce cas, nous devons utiliser le troisième type de fonctions, qui sont des fonctions qui peuvent avoir une sortie.
72
73
00:06:01,630 --> 00:06:07,120
Et pour que notre fonction ait une sortie, nous devons changer un peu la façon dont nous avons créé.
73
74
00:06:07,600 --> 00:06:13,810
Au lieu d'avoir void, qui marque la fonction comme n'ayant pas de sortie, nous la changeons pour le type de données qui
74
75
00:06:13,810 --> 00:06:18,210
on s'attend à sortir de la fonction, qui dans ce cas peut être un entier.
75
76
00:06:18,310 --> 00:06:26,050
Et nous spécifions également ce qui doit sortir de la fonction en utilisant un mot-clé, qui est return.
76
77
00:06:26,230 --> 00:06:31,450
Donc, dans ce cas, nous disons que la sortie de cette fonction est le changement.
77
78
00:06:31,450 --> 00:06:38,950
Donc, si nous avons donné cinq pièces à notre robot et lui avons dit d'acheter du lait, c'est l'équivalent d'appeler
78
79
00:06:39,120 --> 00:06:44,560
notre fonction getMilk passant dans le chiffre cinq, le robot nous achète une bouteille de lait.
79
80
00:06:44,710 --> 00:06:51,610
Et si la bouteille de lait coûte 2 pièces, elle nous rend 3 pièces en échange.
80
81
00:06:51,610 --> 00:06:58,900
Et donc cette expression ici, où elle dit getMilk en passant une entrée de 5, car elle est capable
81
82
00:06:58,900 --> 00:07:05,650
pour avoir une sortie, une fois cette ligne de code exécutée, elle sera équivalente à 3.
82
83
00:07:05,740 --> 00:07:12,930
Nous pourrions donc affecter la sortie de getMilk à une variable appelée result.
83
84
00:07:13,030 --> 00:07:18,340
Et dans ce cas, le résultat serait égal à la sortie qui est de 3.
84
85
00:07:18,340 --> 00:07:25,790
Le résultat est donc égal à 3 car getMilk, commençant par 5 pièces, est égal à 3. Donc
85
86
00:07:25,790 --> 00:07:29,460
dans ce cas, lorsque nous créons la fonction, voici à quoi elle ressemble.
86
87
00:07:29,630 --> 00:07:31,550
Et quand nous appelons la fonction,
87
88
00:07:31,550 --> 00:07:34,090
voici à quoi cela ressemblerait.
88
89
00:07:34,100 --> 00:07:41,030
Cette fonction a à la fois une entrée, qui est spécifiée entre les parenthèses, et elle peut également avoir un
89
90
00:07:41,120 --> 00:07:45,750
sortie qui est spécifiée après le mot-clé return.
90
91
00:07:45,950 --> 00:07:54,070
Ce mot-clé return marque tout ce qui vient après comme sortie de la fonction, et le mot-clé int
91
92
00:07:54,350 --> 00:08:01,630
au début de notre fonction nous indique quel sera le type de données de la sortie de cette fonction.
92
93
00:08:01,640 --> 00:08:08,000
Ainsi, lorsque nous appelons la fonction, nous pouvons simplement l'appeler par son nom en passant toutes les entrées si elle en prend.
93
94
00:08:08,060 --> 00:08:15,830
Et une fois que cela est réalisé, le résultat ou dans ce cas l'argent - 2, est affecté à cette variable.
94
95
00:08:17,000 --> 00:08:22,770
C'est ainsi que les valeurs se déplaceraient dans la fonction. Si nous appelions getMilk en passant la valeur
95
96
00:08:22,790 --> 00:08:28,650
5, 5 entre dans l'entrée et il est utilisé dans la fonction.
96
97
00:08:28,700 --> 00:08:37,160
On se retrouve donc avec 5 - 2 comme retour qui est bien sûr égal à 3. Et 3 est définitivement
97
98
00:08:37,190 --> 00:08:38,110
un nombre entier
98
99
00:08:38,150 --> 00:08:43,340
il correspond donc au type de données entier que nous avons spécifié lors de la création de la fonction.
99
100
00:08:43,340 --> 00:08:50,600
Cela devient donc le résultat du passage de getMilk dans une entrée de 5, et il remplace le côté droit
100
101
00:08:50,720 --> 00:08:52,000
de l'équation.
101
102
00:08:52,010 --> 00:08:56,040
Nous avons donc maintenant une variable appelée change qui est égale à 3.
102
103
00:08:56,060 --> 00:08:59,550
Donc, à ce stade, nous avons vu les trois types de fonctions.
103
104
00:08:59,570 --> 00:09:01,110
Nous avons vu le type le plus simple,
104
105
00:09:01,220 --> 00:09:08,900
la fonction vanilla, qui regroupe simplement tout un ensemble d'instructions dans une fonction.
105
106
00:09:08,960 --> 00:09:13,630
Et chaque fois que nous appelons la fonction, nous spécifions son nom et un ensemble de parenthèses,
106
107
00:09:13,760 --> 00:09:19,310
puis il ira dans les accolades de l'endroit où cela a été créé et exécutera toutes les instructions dans
107
108
00:09:19,310 --> 00:09:21,540
cette ligne par ligne.
108
109
00:09:21,560 --> 00:09:27,140
C'est un peu comme une machine qui fait quelque chose, non? Il fait des calculs ou il en fait
109
110
00:09:27,140 --> 00:09:31,370
traitement, mais essentiellement il n'y a ni entrée ni sortie.
110
111
00:09:31,370 --> 00:09:34,280
Maintenant, le prochain type de fonction devient un peu plus excitant,
111
112
00:09:34,280 --> 00:09:40,910
c'est notre fonction de saveur de chocolat. Et il peut maintenant prendre des entrées et il prend celles entre nos parenthèses.
112
113
00:09:41,210 --> 00:09:47,180
Nous devons spécifier un type de données pour l'entrée afin que lorsque nous appelons la fonction, nous puissions lui donner un morceau
113
114
00:09:47,180 --> 00:09:54,320
de données qui correspondent à ce type de données, et ce nombre ou cette entrée est utilisé dans la fonction à faire
114
115
00:09:54,320 --> 00:09:58,330
quelque chose ou rendre cette fonction plus personnalisée.
115
116
00:09:58,610 --> 00:10:06,500
Et s'il s'agissait d'une machine, c'est un peu comme transmettre une valeur à la machine pour qu'elle traite
116
117
00:10:06,500 --> 00:10:13,400
les données un peu différemment et vous pouvez vous retrouver avec des fonctionnalités personnalisées. Alors que si l'entrée
117
118
00:10:13,400 --> 00:10:18,710
est différent, alors la fonctionnalité sera également un peu différente à chaque fois.
118
119
00:10:19,580 --> 00:10:25,370
Cela nous amène maintenant à notre troisième type de fonctions et au type de fonctions le plus avancé que nous
119
120
00:10:25,370 --> 00:10:31,670
vu jusqu'ici. Et c'est là que nous pouvons avoir à la fois une entrée qui entre entre parenthèses et une
120
121
00:10:31,700 --> 00:10:38,930
sortie que nous spécifions au début, et nous spécifions également à l'intérieur de la fonction pour dire ce qui devrait
121
122
00:10:38,930 --> 00:10:40,540
être la sortie.
122
123
00:10:40,820 --> 00:10:47,420
Et cela équivaut à une machine à part entière où non seulement vous pouvez fournir une entrée, mais vous pouvez
123
124
00:10:47,420 --> 00:10:51,410
obtenir également quelque chose qui sort de la machine, en tant que sortie.
15542
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.