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
0 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
Fonction clé, a un type de vide et ne peut donc pas être utilisée ici. 2
Donc, pour résoudre cette énigme, nous devons comprendre un peu plus le fonctionnement des fonctions. 3
Alors ici, j'ai tout supprimé de mon dartpad 4
autre que la fonction principale. Et je vais créer une nouvelle fonction. Je vais l'appeler ma fonction, 5
et il n'y aura aucune entrée, donc je vais laisser les parenthèses ici vides, mais cela fera l'affaire 6
quelque chose. Entre les accolades, je vais créer une nouvelle variable qui va contenir des valeurs 7
du type double, et ça s'appellera pi. Donc pi sera son nom. Et je vais le mettre à égalité 8
3,14159, la valeur du pi mathématique. Et dans ma fonction, tout ce qui va arriver est 9
cette valeur pi, elle sera multipliée par deux. 10
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
des dossiers. 12
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
Je vais appeler cette fonction que je viens de créer, qui s'appelle myFunction, et elle en aura 14
parenthèses vides car il ne prend pas d'entrées. 15
Et maintenant, si je clique sur Exécuter, vous pouvez voir que pratiquement rien ne se passe. 16
Maintenant, d'abord parce que je n'imprime vraiment rien sur la console, et tout cela se passe juste derrière 17
les scènes sans que nous puissions voir ce qui se passe. 18
Mais rassurez-vous, cela est appelé et cela est en fait effectué et nous pouvons nous en assurer 19
en ajoutant simplement une instruction d'impression ici. 20
Imprimons et disons que «ma fonction a été appelée». Nous savons que si cela est imprimé dans la console, alors 21
cela doit avoir été déclenché avec succès depuis notre fonction principale. 22
Et c'est effectivement le cas. 23
Nous pouvons donc être sûrs que ces instructions sont effectivement exécutées. 24
Mais comment saisir cette valeur, ce pi * 2? Un peu comme le résultat de cette fonction, 25
droite? 26
Comment pouvons-nous nous en emparer et l'intégrer dans notre fonction principale? 27
Et si nous voulions obtenir quelque chose de cette fonction pour qu'une fois que nous exécutions cette fonction, elle produise 28
la valeur calculée et ensuite nous pouvons la stocker dans une variable? Appelons cela peut-être résultat. 29
Et puis nous pourrions peut-être simplement imprimer le résultat de notre fonction principale. 30
Donc, dans ce cas, nous essayons essentiellement de faire quelque chose à l'intérieur de ma fonction. 31
Et puis une fois les résultats calculés, nous voulons que cela soit transporté dans notre fonction principale 32
afin que nous puissions l'utiliser ici pour faire d'autres choses comme l'imprimer. 33
Maintenant, pour le moment, cela ne fonctionne pas. 34
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
comme dans la console, 36
cela me dit que l'expression ici a un type de vide et ne peut donc pas être utilisée. 37
Et il pointe vers cette partie, 38
myFunction. 39
Maintenant, si cela vous semble familier, c'est parce que c'est la même erreur que nous avons commise ici. 40
Qu'est-ce que cela signifie? 41
Eh bien, cela signifie que cette fonction ne produit actuellement rien. Il produit vide, qui dans 42
langage de programmation, signifie essentiellement qu'il n'y a pas de sortie. 43
Et si nous voulions qu'il nous donne une sortie? 44
Eh bien, nous changerions cela de vide au type de données de la sortie. 45
Alors disons dans ce cas, nous multiplions pi par 2. 46
Ce sera toujours un nombre avec des décimales, n'est-ce pas? 47
Le type de données de la sortie sera donc toujours un double. 48
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
avec le mot-clé return. 50
Alors maintenant que nous avons mis à jour notre code, notre erreur disparaît 51
et quand je clique sur exécuter, nous obtenons en fait 6.28318 imprimé ici. 52
Et rappelez-vous que l'instruction d'impression est à l'intérieur de notre fonction principale. 53
Donc, pour qu'il puisse saisir ce résultat, il a dû appeler ma fonction. 54
Nous avons donc dû exécuter ces deux lignes de code, puis le résultat de pi * 2 est sorti de ma fonction, 55
transporté ici et affecté à ce résultat variable. 56
Et c'est ainsi que nous pouvons l'imprimer dans la console. C'est ainsi que nous résoudrions le problème 57
nous avons avec notre application Xylophone. 58
Mais comment fonctionnent exactement les fonctions qui ont des sorties? 59
Explorons cela un peu plus en détail. Auparavant, lorsque nous parlions du deuxième type de fonction, 60
donc des fonctions qui peuvent prendre des entrées, 61
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
appelez getMilk nous pourrions fournir une valeur ici et cette valeur sera ensuite utilisée dans la fonction ou 63
à l'intérieur des accolades. 64
Donc, dans ce cas par exemple, notre fonction getMilk prend une valeur, qui est le montant d'argent que le 65
le robot a acheté une seule bouteille de lait, 66
et cette valeur est utilisée pour calculer la quantité de changement que le robot devrait récupérer. Qui est le 67
montant d'argent qu'il a reçu moins le prix d'une seule bouteille de lait. 68
Donc argent moins deux. 69
Et nous nous retrouvons avec le changement. 70
Maintenant, comment pouvons-nous obtenir ce changement de cette fonction? 71
Eh bien dans ce cas, nous devons utiliser le troisième type de fonctions, qui sont des fonctions qui peuvent avoir une sortie. 72
Et pour que notre fonction ait une sortie, nous devons changer un peu la façon dont nous avons créé. 73
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
on s'attend à sortir de la fonction, qui dans ce cas peut être un entier. 75
Et nous spécifions également ce qui doit sortir de la fonction en utilisant un mot-clé, qui est return. 76
Donc, dans ce cas, nous disons que la sortie de cette fonction est le changement. 77
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
notre fonction getMilk passant dans le chiffre cinq, le robot nous achète une bouteille de lait. 79
Et si la bouteille de lait coûte 2 pièces, elle nous rend 3 pièces en échange. 80
Et donc cette expression ici, où elle dit getMilk en passant une entrée de 5, car elle est capable 81
pour avoir une sortie, une fois cette ligne de code exécutée, elle sera équivalente à 3. 82
Nous pourrions donc affecter la sortie de getMilk à une variable appelée result. 83
Et dans ce cas, le résultat serait égal à la sortie qui est de 3. 84
Le résultat est donc égal à 3 car getMilk, commençant par 5 pièces, est égal à 3. Donc 85
dans ce cas, lorsque nous créons la fonction, voici à quoi elle ressemble. 86
Et quand nous appelons la fonction, 87
voici à quoi cela ressemblerait. 88
Cette fonction a à la fois une entrée, qui est spécifiée entre les parenthèses, et elle peut également avoir un 89
sortie qui est spécifiée après le mot-clé return. 90
Ce mot-clé return marque tout ce qui vient après comme sortie de la fonction, et le mot-clé int 91
au début de notre fonction nous indique quel sera le type de données de la sortie de cette fonction. 92
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
Et une fois que cela est réalisé, le résultat ou dans ce cas l'argent - 2, est affecté à cette variable. 94
C'est ainsi que les valeurs se déplaceraient dans la fonction. Si nous appelions getMilk en passant la valeur 95
5, 5 entre dans l'entrée et il est utilisé dans la fonction. 96
On se retrouve donc avec 5 - 2 comme retour qui est bien sûr égal à 3. Et 3 est définitivement 97
un nombre entier 98
il correspond donc au type de données entier que nous avons spécifié lors de la création de la fonction. 99
Cela devient donc le résultat du passage de getMilk dans une entrée de 5, et il remplace le côté droit 100
de l'équation. 101
Nous avons donc maintenant une variable appelée change qui est égale à 3. 102
Donc, à ce stade, nous avons vu les trois types de fonctions. 103
Nous avons vu le type le plus simple, 104
la fonction vanilla, qui regroupe simplement tout un ensemble d'instructions dans une fonction. 105
Et chaque fois que nous appelons la fonction, nous spécifions son nom et un ensemble de parenthèses, 106
puis il ira dans les accolades de l'endroit où cela a été créé et exécutera toutes les instructions dans 107
cette ligne par ligne. 108
C'est un peu comme une machine qui fait quelque chose, non? Il fait des calculs ou il en fait 109
traitement, mais essentiellement il n'y a ni entrée ni sortie. 110
Maintenant, le prochain type de fonction devient un peu plus excitant, 111
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
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
de données qui correspondent à ce type de données, et ce nombre ou cette entrée est utilisé dans la fonction à faire 114
quelque chose ou rendre cette fonction plus personnalisée. 115
Et s'il s'agissait d'une machine, c'est un peu comme transmettre une valeur à la machine pour qu'elle traite 116
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
est différent, alors la fonctionnalité sera également un peu différente à chaque fois. 118
Cela nous amène maintenant à notre troisième type de fonctions et au type de fonctions le plus avancé que nous 119
vu jusqu'ici. Et c'est là que nous pouvons avoir à la fois une entrée qui entre entre parenthèses et une 120
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
être la sortie. 122
Et cela équivaut à une machine à part entière où non seulement vous pouvez fournir une entrée, mais vous pouvez 123
obtenir également quelque chose qui sort de la machine, en tant que sortie.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.