F#记录是否支持循环引用A - > B - > A?

ski*_*n72 4 f# data-structures

我想使用F#记录,记录Race和Runner,其中Race引用Runner和Runner引用Race.这与Record一样可以和常规课一样吗?

type Race = {
  raceIdentifier : int
  carriedWeightMean : decimal
  prizeMoneyPercentileCountry : int64
  noOfHorses : int
  runners : Runner list
} 

type Runner = {
  horseId : int
  finishPositionSequence : int64
  lbw : decimal
  horseNumberOfRaces : int
  mutable race : Race
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用"with"关键字,但这似乎不起作用:

type Race = {
  raceIdentifier : int
  carriedWeightMean : decimal
  prizeMoneyPercentileCountry : int64
  noOfHorses : int
  race : Race
} with Runner = {
  horseId : int
  finishPositionSequence : int64
  lbw : decimal
  horseNumberOfRaces : int
  race : Race
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 7

你想要'和',而不是'带'...