2010-07-27 1 views
12

in F #, è possibile definire gli operatori personalizzati comeF # Operatori personalizzato Precedenza

let (=~) input pattern = Regex.IsMatch(input, pattern) 

A differenza di Haskell, operatori personalizzati sono definiti, senza precedenze. Quali sono le precedenze degli operatori degli operatori personalizzati in F #?

risposta

20

La precedenza degli operatori è determinata dal primo carattere o dai caratteri, secondo uno predefined table.

+2

Vedere anche le specifiche F #: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html#_Toc264041843 – kvb

+0

Impossibile trovare la precedenza degli operatori che iniziano con ' @ ', ma è possibile definire tali operatori, il formato è '@'. – Gebb

+0

Dalla sorgente citata dalla risposta: "F # supporta l'overloading dell'operatore personalizzato, ovvero è possibile definire i propri operatori Nella tabella precedente, op può essere una sequenza valida (eventualmente vuota) di caratteri operatore, incorporata o Definito dall'utente, è possibile utilizzare questa tabella per determinare quale sequenza di caratteri utilizzare per un operatore personalizzato per raggiungere il livello di precedenza desiderato. " –