ให้บอกว่าเรามีฟังก์ชั่นการเพิ่มดังนี้
def add(x, y):
return x + y
เราต้องการใช้ฟังก์ชั่นแผนที่สำหรับอาเรย์
map(add, [1, 2, 3], 2)
ซีแมนทิกส์ฉันต้องการเพิ่ม 2 ลงในทุก ๆ องค์ประกอบของอาเรย์ แต่mapฟังก์ชั่นต้องการรายการในอาร์กิวเมนต์ที่สามเช่นกัน
หมายเหตุ:ฉันกำลังเพิ่มตัวอย่างสำหรับความเรียบง่าย ฟังก์ชั่นดั้งเดิมของฉันซับซ้อนกว่ามาก และแน่นอนว่าตัวเลือกของการตั้งค่าเริ่มต้นของyในฟังก์ชั่นการเพิ่มเป็นไปไม่ได้เพราะมันจะเปลี่ยนไปสำหรับการโทรทุกครั้ง
map(add,[1,2,3],[2]*3)โดยทั่วไปmapใช้ในฟังก์ชันเป็นอาร์กิวเมนต์แรกและถ้าฟังก์ชันนี้ใช้อาร์กิวเมนต์Kคุณต้องติดตามด้วยK iterable:addTriple(a,b,c) -> map(addTriple,[...],[...],[...])