Question exercice paramètres fonction: apprendre à programmer en Swift/ 4-découper et organiser son code/ améliorer notre menu

Bonjour à tous,

j’ai beau chercher mais je ne comprends pas pourquoi je n’arrive pas à réutiliser ma constante nameU dans les paramètres des fonction auxquels je veux l’associer (dans le switch case), comme demandé dans l’exercice.

En regardant la correction, j’ai l’impression de faire la même chose mais ça ne marche pas…

je dois sans doute passer à côté de quelque chose… any help?

merci,

Jordan

ci joint captures d’écran de mon code actuel.

Bonjour,

Tu déclares la variable dans ta fonction enterYourName(), cette variable n’est valable que dans cette fonction. C’est pourquoi il ne la trouve pas.
Il faut déclarer la variable nameU en dehors de ta fonction avec un let nameU:String en amont, par exemple

Merci pour cette réponse rapide Mrt1,

J’ai déjà fais l’expérience en déclarant la variable en dehors de la fonction avec succès, mais dans l’exercice, il réutilise les données de la variable déclarée dans la fonction, dsl je suis buté, j’ai besoin de comprendre, qu’est ce qui m’échappe?..

Oui, tout à fait, mais Maxime a inclus cette fonction dans une fonction qui englobe tout le reste du code. Cette fonction est nommée fonction menu() dans l’exercice (fonction menu() tout de suite après « Import Foundation » )
Alors que ce qu’on voit de ton code, ce sont des fonctions toutes séparées, non inclus dans une fonction globale.

en gros Maxime à fait :
Fonction1() {

  • Fonction2
  • Fonction3
    }

Les variables des fonctions2 et 3 sont lisibles tant que l’on reste dans la Fonction1.

Toi tu as fait :

  • Fonction1
  • Fonction2

donc les variables qui sont dans tes fonctions 1 ou fonctions 2 sont séparées et non lisibles entre elles.

Donc soit tu fais comme Maxime, en créant une fonction « globale ». Soit tu déclares ta variable en dehors de ta fonction.

1 « J'aime »

Super, j’ai compris, merci beaucoup,

j’ai refait l’exercice du menu entier de tête ce matin et j’ai effectivement omis cette étape!
merci encore, tu m’as enlevé un mal de crâne!

Bonne journée!

1 « J'aime »