Я продолжаю изучать соответствие шаблону F # с моей простой функцией, которая должна возвращать квадратный корень, если аргументом является число, аргумент в противном случае. Я немного изменил его, и он выглядит следующим образом.Функция F # возвращает несколько типов (возвращает тип общего типа объекта)?
let my_sqrt (o: obj) =
match o with
| :? float as d -> (sqrt d).ToString()
| _ as x -> x.ToString()
Он отлично работает для моей цели, но что, если я не хочу бросать возвращаемое значение в строку? Как я могу вернуть «какой-то объект», а затем использовать его в printfn "%A" (my_sqrt [| 1; 2; 3 |])
?
Если я могу спросить, какова цель возвращения аргумента неизменным, если это не поплавок? В какой ситуации это будет полезно? – sepp2k
Только что написал пример функции, которая возвращает разные типы, чтобы показать, что я хочу знать :-) – asdf