Чтобы создать пустую запись, вы можете использовать None
:
let ret = { ResponseError = None; SecurityDatas = None }
Я не думаю, что вы хотите объявить запись как изменчивую.Вместо этого вы, вероятно, захотите создать клон, содержащий новое значение для некоторого поля (например, ResponseCode
).Например, если у вас есть функция, которая анализирует ResponseError
, вы должны написать что-то вроде:
// Start with an empty record that does not contain anything
let ret = { ResponseError = None; SecurityDatas = None }
// Add ResponseError if it is defined
let ret1 =
if elem.HasElement("ResponseError") then
let responseErr = ParseResponseError (elem.GetElement("ResponseError"))
// Return a new value, with ResponseError set
{ ret with ResponseError = Some(responseErr) }
else
// Response error was not set, so we just return the original
ret
Если вам действительно нужны изменяемые записи, вы можете пометить поле как mutable
, ноиспользуется не очень часто - если вы изучаете функциональное программирование, то старайтесь держать вещи поддающимися оценке - таким образом, вы научитесь думать о проблемах по-другому.// Сделать что-то еще здесь - возможно, вернуть окончательный результат ret1