Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Operatori simbolici in F#
Scritto da Rocco Galati il 14-12-2011 ore 12:24
Intel Parallel Studio XE
L'utilizzo degli operatori simbolici durante la programmazione consente agli sviluppatori di scrivere codice in maniera più elegante e pulita e, molto spesso, anche più velocemente.

Il linguaggio multi-paradigma F#, che si appoggia al framework .NET di Microsoft, non solo abilita i programmatori all'uso di questo tipo di operatori, ma ne permette anche la definizione di nuovi senza confondere questa possibilità con l'operazione di overloading di una funzione standard.

Come scrive Ganesan Senthilvel nel suo blog, un operatore simbolico può essere preceduto da una sequenza composta da un insieme di simboli diversi, come !#@$%^&+*-/<=>| e nel seguito è mostrato un esempio relativo alla definizione di una funzione per il calcolo dei fattoriali:
  1. > let rec(!) x =
  2. if x <= 1 then 1
  3. else x * !(x-1);;
  4. > !5;;
  5. val it : int = 120
Per rendere più comodo l'impiego degli operatori simbolici, è possibile far precedere il simbolo rispetto ai parametri da passare al fine di fornire una lettura più lineare del codice; in questo caso, il prefisso deve essere il carattere di tilde, il punto esclamativo o quello di domanda.

Nel codice presentato nel seguito, la funzione ~++ consente di specificare i valori numerici uno di seguito all'altro piuttosto che nel formato convenzionale 1 ~++ 2 3.
  1. > let (~++) x y z = x + y + z;;
  2. val (~++) : int-> int-> int-> int
  3. > ~++ 1 2 3;;
  4. val it : int = 6
Precedente: WordPress 3.3 introduce un nuovo uploader
Successiva: Animazioni all'interno del canvas con paper.js
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.259 secondi.