Estoy tratando de entender las uniones discriminadas y los tipos de registros; específicamente cómo combinarlos para una máxima legibilidad. Aquí hay un ejemplo: digamos que un equipo deportivo puede tener puntos (puntos de liga y diferencia de goles) o puede ser suspendido de la liga, en cuyo caso no tiene puntos ni diferencia de goles. Así es como he intentado expresar que:Combinación de sindicatos discriminados con tipos de registros
type Points = { LeaguePoints : int; GoalDifference : int }
type TeamState =
| CurrentPoints of Points
| Suspended
type Team = { Name : string; State : TeamState }
let points = { LeaguePoints = 20; GoalDifference = 3 }
let portsmouth = { Name = "Portsmouth"; State = points }
El problema se produce al final de la última línea, donde digo "estado = puntos. Me aparece 'Se esperaba que Expression tuviera el tipo TeamState, pero aquí tiene Type Points'. ¿Cómo puedo evitar eso?
Usted belleza! Gracias almohadilla. – Kit
(Se marcará como respuesta cuando se permita - 6 minutos!) – Kit