Ho incontrato il seguente costrutto in vari punti del progetto Ocaml di cui sto leggendo il codice."match ... true -> foo | false -> bar" ha un significato speciale in Ocaml?
match something with
true -> foo
| false -> bar
A prima vista, funziona come al solito if
dichiarazione. A seconda vista, funziona come la solita dichiarazione if
! A terza vista, ho deciso di chiedere a SO. Questo costrutto ha un significato speciale o una sottile differenza dalla dichiarazione if
che interessa in casi particolari?
sono d'accordo, ma vorrei mettere in un altro modo: credo che la programmazione in ML ti fa vedere i modelli per abbinare ovunque dopo un po ' , così scrivi prima "match x with" e inizia a pensare dopo. –
Non solo è equivalente a un'istruzione if, è piuttosto probabile che tutte le istruzioni vengano desugared in questo modo dal compilatore. –