คำถามติดแท็ก currying

18
'Currying' คืออะไร
ฉันเคยเห็นการอ้างอิงถึงฟังก์ชั่น curated ในหลายบทความและบล็อก แต่ฉันไม่สามารถหาคำอธิบายที่ดี (หรืออย่างน้อยหนึ่งที่ทำให้รู้สึก!)

14
ความแตกต่างระหว่างการประยุกต์ใช้การแกงและบางส่วนคืออะไร
ฉันมักจะเห็นข้อร้องเรียนต่าง ๆ บนอินเทอร์เน็ตหลายครั้งว่าตัวอย่างของคนอื่นที่ไม่ใช่การแกง แต่เป็นเพียงบางส่วนเท่านั้น ฉันไม่พบคำอธิบายที่ดีว่าแอปพลิเคชั่นบางส่วนคืออะไรหรือแตกต่างจากการแกง ดูเหมือนจะมีความสับสนโดยทั่วไปโดยมีตัวอย่างที่อธิบายได้ว่าเป็นการ currying ในบางสถานที่และการใช้งานบางส่วนในที่อื่น ใครบางคนสามารถให้คำจำกัดความของคำทั้งสองและรายละเอียดว่าพวกเขาแตกต่างกันอย่างไร

15
JavaScript แกง: การใช้งานจริงคืออะไร?
ฉันคิดว่าฉันยังไม่ได้บ่นหรอก ฉันเข้าใจว่ามันทำอะไรและทำอย่างไร ฉันไม่สามารถนึกถึงสถานการณ์ที่ฉันจะใช้มันได้ คุณใช้ currying ใน JavaScript อยู่ที่ไหน (หรือใช้ห้องสมุดหลักอยู่ที่ไหน) ยินดีต้อนรับสู่การจัดการ DOM หรือตัวอย่างการพัฒนาแอปพลิเคชันทั่วไป หนึ่งในคำตอบที่กล่าวถึงภาพเคลื่อนไหว ฟังก์ชั่นเช่นslideUp, fadeInใช้องค์ประกอบเป็นข้อโต้แย้งและเป็นปกติฟังก์ชั่นแกงกะหรี่กลับฟังก์ชั่นการสั่งซื้อสูงที่มีการเริ่มต้น“ฟังก์ชั่นนิเมชั่น” ในตัว ทำไมจึงดีกว่าเพียงแค่ใช้ฟังก์ชั่นที่สูงขึ้นด้วยค่าเริ่มต้นบางส่วน มีข้อ จำกัด ในการใช้งานหรือไม่? ตามที่ร้องขอนี่เป็นแหล่งข้อมูลที่ดีเกี่ยวกับการแก้ปัญหา JavaScript: http://www.dustindiaz.com/javascript-curry/ Crockford, Douglas (2008) JavaScript: The Good Parts http://www.svendtofte.com/code/curried_javascript/ (ใช้ทางอ้อมเข้าสู่ ML ดังนั้นให้ข้ามส่วนทั้งหมดจาก“ A crash course in ML” และเริ่มต้นอีกครั้งที่“ วิธีการเขียน JavaScript curated”) http://web.archive.org/web/20111217011630/http://blog.morrisjohns.com:80/javascript_closures_for_dummies การปิด JavaScript ทำงานอย่างไร http://ejohn.org/blog/partial-functions-in-javascript (Mr. Resig …

6
แลมบ์ดาที่มีลูกศร 2 ตัวใน Java 8 หมายถึงอะไร
ฉันเคยอ่านบทแนะนำ Java 8 มาแล้วหลายครั้ง ตอนนี้ฉันพบหัวข้อต่อไปนี้: java รองรับ Currying หรือไม่? ที่นี่ฉันเห็นรหัสต่อไปนี้: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); ฉันเข้าใจว่าตัวอย่างนี้รวม 2 องค์ประกอบ แต่ฉันไม่เข้าใจโครงสร้าง: a -> b -> a + b; ตามส่วนซ้ายของนิพจน์แถวนี้ควรใช้ฟังก์ชันต่อไปนี้: R apply(int value); ก่อนหน้านี้ฉันได้พบกับลูกศรเพียงลูกเดียวเท่านั้น
118 java  lambda  java-8  currying 

4
ฉันจะเขียนฟังก์ชันที่ส่งคืนฟังก์ชันอื่นได้อย่างไร
ใน Python ฉันต้องการเขียนฟังก์ชันmake_cylinder_volume(r)ที่ส่งคืนฟังก์ชันอื่น ฟังก์ชั่นที่ควรจะกลับ callable กับพารามิเตอร์hและกลับปริมาตรของทรงกระบอกที่มีความสูงและรัศมีhr ฉันรู้วิธีคืนค่าจากฟังก์ชันใน Python แต่ฉันจะคืนค่าฟังก์ชันอื่นได้อย่างไร

3
การจัดลำดับพารามิเตอร์เพื่อใช้ในการแกง
ฉันมีโค้ด refactored สองครั้งเมื่อเร็ว ๆ นี้เพื่อเปลี่ยนลำดับของพารามิเตอร์เนื่องจากมีโค้ดมากเกินไปที่แฮ็กชอบflipหรือ\x -> foo bar x 42เกิดขึ้น เมื่อออกแบบลายเซ็นฟังก์ชันหลักการใดบ้างที่จะช่วยให้ฉันใช้แกงกะหรี่ให้เกิดประโยชน์สูงสุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.