Как вы можете видеть на массу вопросов, которые я задаю, я действительно все глубже и глубже в F # :)Работа с нулевыми значениями в F #
Другое сомнение подходы мой путь обучения: нулевые значения. Как обращаться с ними, учитывая, что это необходимо из-за тесной интеграции между .NET framework и F # (или любым другим языком в рамках)?
Для простоты, вот кусочек кода:
let myfunc alist =
try
List.find (fun x -> true) alist
with
| :? KeyNotFoundException as ex -> (* should return null *)
Как я могу вернуть нуль в функции?
Ключевое слово null
бесполезно, если не распознано (не то же самое для nil
).
И, вообще говоря, какова наилучшая практика при обработке возвращаемых значений null?
Согласен, но я думаю, что 'List.tryFind' заслуживает более заметного упоминания. Требование создания платформы .NET для создания стека вызовов и исключения исключений каждый раз, когда он не находит то, что вы ищете, - это не способ хорошей производительности. 'let myfunc = List.tryFind (fun _ -> true)' это путь. –