Python:
def multiplication(x, y):
return x * y
Ocaml:
let multiplication(x, y : int * int) : int =
x * y
;;
Alors qu'Ocaml utilise comme valeur de retour la dernière expression, C (comme Python) utilise le mot return
Les fonctions sont des blocs de code qui peuvent être appelés plusieurs fois dans un programme. Elles sont déclarées avec un type de retour, un nom et des paramètres:
int multiplication(int x, int y) {
return x * y;
}
Dans cet exemple, la fonction multiplication
est déclarée avec le type de retour int
et les paramètres x
et y
. La fonction retourne tout simplement le produit de x
et y
. Bien-sûr, ce n'est qu'un exemple pour comprendre comment construire une fonction, n'utilisez pas cette fonction à chaque fois que vous multipliez deux int
, utilisez simplement l'opérateur *
.
Python:
def multiplication(x, y):
return x * y
Ocaml:
let multiplication(x, y : int * int) : int =
x * y
;;
Alors qu'Ocaml utilise comme valeur de retour la dernière expression, C (comme Python) utilise le mot return
Les fonctions peuvent également être récursives, c'est-à-dire qu'elles peuvent s'appeler elles-mêmes. Vous n'avez pas à ajouter rec
, C est intelligent et comprend que vous appelez la fonction que vous définissez. Voici un exemple:
int facto(int x) {
if (x == 0) {
return 1;
}
else {
return x * facto(x - 1);
}
}
Dans cet exemple, la fonction facto
est déclarée avec le type de retour int
et le paramètre x
. La fonction retourne la factorielle de x
.
Python:
def facto(x):
if x == 0:
return 1
else:
return x * facto(x - 1)
Ocaml:
let rec facto(x : int) : int =
if x = 0 then
1
else
x * facto(x - 1)
;;
Si vous avez du mal avec la récursivité, essayez ce site, il explique pas à pas comment s'exécute le code Python.