Ruby    
 
  PHP    
 
  Java    
 
  JavaScript   
 
  smartphones    
 
  Python    
 
  C/C++    
 
  home  
 
  ask us  
 


Xcode






Applications




© The scientific sentence. 2010


Xcode
2. Fonctions et fermetures





On Utilise func pour déclarer une fonction. On l'appelle en ecrivant son nom avec une liste d'arguments entre parenthèses.

On utilise le symbole -> pour séparer les noms et types de paramètres du type de retour de la fonction.

Exemple:

func Dareen(nom: String, jour: String) -> String {
return "Bonjour \ (nom), aujourd'hui est \ (jour)."
}
Dareen("Itri", "mardi")

Autre exemple:

Utilisez un tuple pour renvoyer plusieurs valeurs d'une fonction.

func itri() -> (Double, Double, Double) {
return (2.17, 23.67, 48.12)
}
itri()


Les fonctions peuvent également prendre un nombre variable d'arguments, en les rassemblant dans un tableau.

Exemple:

func sumOf(nombres: Int...) -> Int {
var sum = 0
for nombre in nombres{
sum += nombre
}
return sum
}
sumOf()
sumOf(42, 597, 12)


Les fonctions peuvent être imbriquées. Les fonctions imbriquées ont accès aux variables déclarées dans la fonction externe.
On utilise des fonctions imbriquées pour organiser le code dans une fonction longue ou complexe.

Exemple:

funcretourne7() -> Int {
var y = 1
funcadd() {
y += 6
}
add()
return y
}
retourne7()


Les fonctions sont un type de première classe. Cela signifie qu'une fonction peut renvoyer une autre fonction comme valeur.

Exemple:

func makeIncrementer() -> (Int -> Int) {
    func addOne(number: Int) -> Int {
    return 1 + number
    }
return addOne
}
var increment = makeIncrementer()
increment(7)


Une fonction peut prendre une autre fonction comme l'un de ses arguments.

Exemple:

func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {
for item in list {
if condition(item) {
return true
}
}
return false
}
funclessThanTen(number: Int) -> Bool {
return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen)


Les fonctions sont en fait un cas particulier de fermetures. Vous pouvez écrire une clôture sans nom en entourant le code avec des accolades ({}). Utilisez in pour séparer les arguments et renvoyer le type du corps.

Exemple:

numbers.map({
number: Int) -> Int in
let result = 3 * number
return result
})






  


Google
  Web ScientificSentence

 

SVT
|
chimie labs
|
Physics and Measurements
|
Probability & Statistics
|
Combinatorics - Probability
|
Chimie
|
Optics


© Scientificsentence 2013. All rights reserved.