По местным типам я имею в виду тип, который доступен только в пределах конкретной функцииМожно ли иметь локальные типы в F #
Например позволяет сказать, что я хочу взять некоторые данные, форматировать, и сериализовать его JSON ,
let parse data = // hypothetical scenario
type Record = { root : string[] }
let record = { root = data }
JsonConvert.SerializeObject record
Похоже, что этот тип больше не нужен, это должно работать. Однако я получаю ошибки компиляции, когда пишу это.
Есть ли способ получить аналогичную функциональность в F #?
Выражения объектов - https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/object-expressions-%5Bfsharp%5D аналогичны –
@JohnPalmer Не являются ли эти анонимные? разве вы не теряете способность к некоторым полиморфным материалам при использовании этого? – t3dodson
Вы можете использовать модификатор доступа «private», чтобы доступ к типу можно было получить только из прилагаемого модуля. – bytebuster