let passFive f = (f 5)
Support en F # (laissez passFive f = (f 5))
let passFive f = f 5
Quelle est la différence entre eux?
Je trouve qu'ils sont tous les deux comme ci-dessous:
val passFive : (int -> 'a) -> 'a
let passFive f = (f 5)
Support en F # (laissez passFive f = (f 5))
let passFive f = f 5
Quelle est la différence entre eux?
Je trouve qu'ils sont tous les deux comme ci-dessous:
val passFive : (int -> 'a) -> 'a
Ils sont à la fois les mêmes et entre parenthèses (parenthèses) ici sont utilisés comme partout ailleurs où vous voulez regrouper les opérandes et d'augmenter leur priorité.
printfn "%A" myfunc 5
donnera une erreur.
printfn "%A" (myfunc 5)
est comment il est supposé être écrit.
Comme partout ailleurs ** en F # ** ... – Benjol
@Benjol: Comme n'importe où ailleurs dans 90% des langues. – delnan
@delnan, ok, point pris. Ce à quoi je pensais était le fait que dans les parenthèses F # sont * seulement * utilisés pour la précédence, alors qu'ailleurs, ils sont utilisés pour "empaqueter" les arguments pour les méthodes/fonctions. Cela fait parfois trébucher les gens. – Benjol
Qu'est-ce qui vous fait penser qu'il y a une différence? – Gabe
Une bonne question non? Étant donné une langue inconnue, et deux extraits de code différents que les deux compilent, il est raisonnable de demander s'il y a une différence. – DuckMaestro
@Gabe: Une rencontre préalable avec Lisp? ;-) – petebu