के साथ F # पाइप प्रतीक का उपयोग करके मैं किसी ऑब्जेक्ट के निर्माण में पाइप ऑपरेटर का उपयोग करने के लिए सही वाक्यविन्यास को समझने की कोशिश कर रहा हूं। वर्तमान में मैं ऑब्जेक्ट बनाने और बस उस पर पाइप करने के लिए एक स्थिर सदस्य का उपयोग कर रहा हूं। सरलीकृत संस्करण यहां दिया गया है।किसी ऑब्जेक्ट कन्स्ट्रक्टर
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
मैं आपकी क्या अपेक्षाएं हैं ...
static member concat(shapes : Shape list) =
shapes
|> List.map (fun shape -> shape.points)
|> Array.concat
|> (new Shape)
यह संभव तरह कुछ है? मैं स्थिर सदस्य बनाने के साथ अपने कन्स्ट्रक्टर को दोहरा कर कोड डुप्लिकेट नहीं करना चाहता हूं।
अद्यतन कंस्ट्रक्टर्स एफ # 4.0
एफ # 4.0 सही सिंटैक्स है के रूप में प्रथम श्रेणी कार्य हैं।
static member concat(shapes : Shape list) =
shapes
|> List.map (fun shape -> shape.points)
|> Array.concat
|> Shape
उह, इतना आसान। मैंने कई अलग-अलग वाक्यविन्यासों की कोशिश की और मजाक का उपयोग करने के बारे में भी सोचा नहीं। धन्यवाद महोदय। – gradbot