Aller au contenu

PB avec passage données dans une Func (Swift 3)


Messages recommandés

J'ai un souci avec les fonctions.

Pourriez-vous me dire pourquoi ce code ne marche pas
en fait, je veux lire le fichier "file.txt" dont le contenu est :

 

Jason 16 male self programing
Josh 15 male friend art

func affichage(contents: String, sep: String) {
 
let lines = contents.components(separatedBy: "\n")
 
for line in lines {
let words = line.components(separatedBy: " ")
print("\(words[0]) is \(words[1]) and likes \(words[4])")
}
}
 
 
let file = "file.txt" // ficheir à lire
 
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
 
let path = dir.appendingPathComponent(file)
 
 
// Lecture
do {
let contents = try String(contentsOf: path, encoding: String.Encoding.utf8)
let sep = " "
// passage dans la fonction pour affichage résultats
affichage(contents: String, sep: String)
}
catch {/* erreur handling ici */}
 
 
}

C'est dans la manière dont je passe mes données dans la fonction que çà pèche.

A+

Modifié par patyom
Lien à poster
Partager sur d’autres sites

Salut !

 

Il faut que tu change

affichage(contents: String, sep: String)

en

affichage(contents:contents, sep:sep)

Il faut :

1/ Ne pas donner le type des arguments, le compilateur les connais déjà avec ton prototype.

2/ Donner les noms des arguments de la fonction (c'est un peu redondant ici, mais c'est nécessaire).

Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...