Forward Pipe

Forward pipe คือ operator ที่ใช้สำหรับ forward ข้อมูลไปยังฟังก์ชั่นด้านหน้า ทำงานคล้ายกับเครื่องหมาย | ใน shell ของ Linux

F#

มี build-in operator เรียกว่า forward pipe โดยแทนด้วยเครื่องหมาย |>

C#

C# ไม่มี build-in แต่สามารถเขียน forward pipe แบบง่าย ๆ ตัวอย่างนี้ใช้วิธีสร้าง extension method ที่รองรับ input สองแบบ คือ Func<T, TResult> และ Action<T>

การเรียกใช้

เนื่องจาก extension method ทั้งสองเป็น generic จึงสามารถใช้ .Forward() กับ type ใดก็ได้ ถ้า signature ของ type กับ input ของฟังก์ชั่นตรงกัน เช่น 100 เป็น int จะสามารถ forward ไปหาฟังก์ชั่น Double() ที่รับ int และสามารถ forward ต่อไปยัง ToString() ได้ด้วย ส่วน Console.WriteLine() จะเทียบได้กับ Action<T> ซึ่งรับ input เป็นอะไรก็ได้ แต่ไม่รีเทิร์นค่า

Haskell

Haskell ไม่มี build-in แต่สามารถเขียน operator (|>) ขึ้นใหม่ ตามตัวอย่างนี้

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.