¿Puedo usar el operador de canalización en F # para pasar un argumento a un constructor?
Este código invierte una cadena:
let reverse (s : string) = new string(s.ToCharArray() |> Array.rev)
¿Se puede reescribir esto utilizando el operador de canalización para pasar el argumento requerido alstring()
¿constructor? Por ejemplo, esto parece más idiomático:
// Doesn't compile:
let reverse (s : string) = s.ToCharArray() |> Array.rev |> new string
Del mismo modo, ¿por qué no puedo usar elstring
operador de la siguiente manera?
let reverse2 (s : string) = s.ToCharArray() |> Array.rev |> string
Aquí está en acción:
> reverse2 "foo" ;;
val it : string = "System.Char[]"
Devuelve el tipo en lugar de "oof".