Function.From ใช้เพื่อแปลงฟังก์ชันที่รับเฉพาะลิสต์เดียว (unary function) ให้กลายเป็นฟังก์ชันที่รับพารามิเตอร์แยกกัน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| functionType | type | ประเภท (type) ของฟังก์ชันใหม่ที่ต้องการสร้าง กำหนดจำนวนพารามิเตอร์และประเภทของแต่ละตัว |
| function | function | ฟังก์ชัน Unary (รับพารามิเตอร์เป็นลิสต์เดียว) ที่ต้องการแปลง |
Function.From(functionType, function) ใช้ในสถานการณ์ที่คุณต้องการปรับแต่งฟังก์ชัน Unary (ฟังก์ชันที่รับพารามิเตอร์เป็นลิสต์เดียว) ให้กลายเป็นฟังก์ชันที่รับพารามิเตอร์แยกกันหลาย ตัว โดยฟังก์ชันนี้จะสร้างลิสต์จากพารามิเตอร์ที่ส่งมาแล้วส่งต่อให้กับฟังก์ชันต้นฉบับ
วิธีทำงานคือ Function.From จะรับพารามิเตอร์สองตัว:
1. functionType – กำหนดประเภทและลายเซ็นของฟังก์ชันใหม่ (จำนวนพารามิเตอร์และประเภทของแต่ละตัว)
2. function – ฟังก์ชันต้นฉบับที่รับเฉพาะลิสต์เดียว
ที่เจ๋งคือ Function.From ช่วยให้คุณสามารถใช้ฟังก์ชัน Unary เหล่านี้ได้เสมือนว่าเป็นฟังก์ชันปกติที่รับพารามิเตอร์แยก ทำให้โค้ดอ่านง่ายขึ้น ตัวอย่างเช่น List.Sum ในตัวมันเองต้องการลิสต์ แต่ Function.From ช่วยให้คุณใช้ได้เสมือนว่า Sum(a, b) แบบปกติ
ส่วนตัวผม ใช้ Function.From ตอนที่ต้องการสร้าง wrapper function หรือต้องการปรับแต่งวิธีการรับพารามิเตอร์ของฟังก์ชัน แต่สำหรับการใช้งานทั่วไปมักไม่ค่อยจำเป็นครับ 😎
Function.From แปลง List.Sum ให้รับพารามิเตอร์สองตัว (5, 3) แล้วสร้างลิสต์ {5, 3} ส่งให้ List.Sum ซึ่งรวมได้ 8
สร้างฟังก์ชัน ConcatenateList ที่รับลิสต์และรวมเป็นข้อความ จากนั้น Function.From แปลงให้รับพารามิเตอร์สามตัวแยกกัน
Function.From เปลี่ยน List.Max เป็นฟังก์ชันที่รับสามพารามิเตอร์ (78, 92, 85) จากนั้นหาค่าสูงสุดได้ 92
สร้าง anonymous function ที่รับลิสต์และคำนวณค่าเฉลี่ย Function.From ช่วยให้เรียกได้เหมือน CalculateAverage(85, 90, 88) แทนการส่งลิสต์โดยตรง
Function.From ใช้เพื่อแปลงฟังก์ชัน Unary ให้กลายเป็นฟังก์ชันหลายพารามิเตอร์ ส่วน Function.Invoke ใช้เพื่อเรียกใช้ฟังก์ชันที่มีพารามิเตอร์เป็นลิสต์
สถานการณ์ที่ Function.Invoke มีประโยชน์คือเมื่อคุณต้องการสร้าง wrapper หรือปรับแต่งวิธีการรับพารามิเตอร์ของ unary function เพื่อให้ใช้งานได้สะดวกขึ้น
บางครั้ง unary function ในตัวของ Power Query ไม่สามารถเปลี่ยนแปลงได้ Function.From ช่วยให้คุณสร้าง interface ใหม่ที่เหมาะกับความต้องการของคุณได้
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Function.From จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Expression.Evaluate ใช้สำหรับประเมินผลนิพจน์ M ที่เก็บไว้เป็นข้อความ โดยสามารถระบุตัวแปรและฟังก์ชันที่ใช้ได้ในสภาพแวดล้อม ทำให้สามารถเขียนโค้ด M แบบไดนามิก
Function.Invoke เรียกใช้ฟังก์ชันโดยส่งรายการอาร์กิวเมนต์เป็นพารามิเตอร์ ใช้สำหรับการเรียกฟังก์ชันแบบไดนามิก
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่