J'essaie de trouver la syntaxe correcte pour utiliser l'opérateur de tuyau |> dans la création d'un objet. Actuellement, j'utilise un membre statique pour créer l'objet et juste piping à cela. Voici la version simplifiée.Utilisation du symbole de tuyau F # avec un constructeur d'objet
type Shape =
val points : Vector[]
new (points) =
{ points = points; }
static member create(points) =
Shape(points)
static member concat(shapes : Shape list) =
shapes
|> List.map (fun shape -> shape.points)
|> Array.concat
|> Shape.create
Ce que je veux faire ...
static member concat(shapes : Shape list) =
shapes
|> List.map (fun shape -> shape.points)
|> Array.concat
|> (new Shape)
Est-ce quelque chose comme cela possible? Je ne veux pas dupliquer le code en répétant mon constructeur avec le membre statique create.
Mise à jour sont Constructors fonctions de première classe comme de F # 4.0
In F # 4.0 la syntaxe correcte est.
static member concat(shapes : Shape list) =
shapes
|> List.map (fun shape -> shape.points)
|> Array.concat
|> Shape
Uhg, si simple. J'ai essayé tellement de syntaxe différente et je n'ai même pas pensé à utiliser un amusement. Merci Monsieur. – gradbot