วิธีที่จะปรับใช้ชุดลำดับของฟังก์ชันบนลำดับของตัวแปรใน Clojure?

0

คำถาม

ฉันมีงานที่ต้องใช้ลำดับของงานและลำดับของอาร์กิวเมนต์. นี่ควรจะกลับมาเป็นเว็กเตอกับผลลัพธ์ของแต่ละฟังก์ชันใช้กับผู้ที่ลำดับของอาร์กิวเมนต์.

((solution + max min) 2 3 5 1 6 4) ;;--> [21 6 1]

ข้อความด่วนทันใจพยายามจะแก้ไขมันกับคุมห้องระบบประสาทพวกแต่ฉันไม่รู้วิธีที่จะปรับใช้ทุกฟังก์ชันมันได้ผลเดียวสำหรับคนแรกฟังก์ชัน:

(defn solution
  [& args]
 (fn [& args2]
 (reduce (first args) [] args2)))
clojure higher-order-functions
2021-11-13 20:27:42
1

คำตอบที่ดีที่สุด

4

ใช้ juxt:

((juxt + max min) 2 3 5 1 6 4)
=> [21 6 1]

หรือนิยามฟังก์ชัน solution:

(defn solution
  [& args]
  (fn [& args2]
    (apply (apply juxt args) args2)))

((solution + max min) 2 3 5 1 6 4)
=> [21 6 1]
2021-11-13 20:34:59

งั้น (def solution juxt) จะทำอย่างเพื่อกำหนด solution.
jaihindhreddy

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................