2014-05-15 13 views
8

Sto seguendo un tutorial sulla Composizione delle funzioni e continuo a vedere l'operatore ' utilizzato alla fine di una dichiarazione di valore.Scopo del segno di spunta (apostrofo) nei nomi dei valori F #?

So che vuol dire un generico quando precede un parametro, ma cosa significa quando si vede le cose come:

let add x y = x + y 
let myFunc' = add 10 

L'unica cosa che posso vedere è che il ' è solo un altro carattere nell'identificatore. È giusto? Perché se io uso lo stesso esempio, utilizzando myFunc restituisce un errore non definito, dove risolve myFunc '.

+2

Sì, è corretto. È solo un altro personaggio nell'identificatore. – Gustavo

risposta

16

Sì, come @Lee puntato, ' è un identificatore valido.

Anche se, lo scopo del ' alla fine di identificatori generalmente è per indicare il valore come qualcosa legato o simile al valore denominato, senza il finale '. Questo è borrowed from mathematics, F # essendo un linguaggio funzionale, per denotare qualcosa come primo dal Un è pronunciata aye dove A' è aye-prime.

+1

Story time: a volte lo uso anche io (e ho visto altre persone usarlo di tanto in tanto) per denotare la funzione annidata ricorsiva, in modo che la funzione di primo livello possa essere chiamata 'insert', mentre quella interna sarebbe' lascia rec insert'', per mancanza di nomi migliori :) –

5

Sì, "è un carattere identificativo valido, sebbene non possa essere il primo. La struttura di identificatori è definita nel specification:

3.4 identificatori e parole chiave

ident-text = ident-start-char ident-char *

ident-char = letter-char | digit-char | collegamento-char | combinazione-char | formattazione-char | '| _

Problemi correlati