Encontré el siguiente constructo en varios lugares del proyecto Ocaml, estoy leyendo el código de.¿Coincide ... verdadero -> foo | falso -> barra "tiene un significado especial en Ocaml?
match something with
true -> foo
| false -> bar
A primera vista, funciona como de costumbre if
comunicado. En un segundo vistazo, funciona ... ¡funciona como la declaración if
habitual! A tercera vista, decidí preguntar en SO. ¿Este constructo tiene un significado especial o una diferencia sutil de la declaración if
que importa en casos peculiares?
Estoy de acuerdo, pero me gustaría decirlo de otra manera: Creo que la programación en ML hace ver patrones para que coincida con todo el mundo después de un tiempo , para que primero escribas "combinar x con" y comiences a pensar después de eso. –
No solo es equivalente a una instrucción if, es bastante probable que todas las sentencias if sean desacralizadas de esta manera por el compilador. –