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

Clojure เป็นภาษา Lisp สมัยใหม่สำหรับ Java Virtual Machine (ที่มีเวอร์ชันสำหรับ CLR และ JavaScript) Clojure เป็นมากกว่าการใช้งาน Lisp ใน Java เท่านั้น Clojure ยังให้การเข้าถึงคลาสและระบบนิเวศของ Java

13
การตีความเกณฑ์มาตรฐานใน C, Clojure, Python, Ruby, Scala และอื่น ๆ [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ข้อจำกัดความรับผิดชอบ ฉันรู้ว่าเกณฑ์มาตรฐานเทียมนั้นชั่วร้าย พวกเขาสามารถแสดงผลลัพธ์สำหรับสถานการณ์แคบ ๆ ที่เฉพาะเจาะจงเท่านั้น ฉันไม่คิดว่าภาษาหนึ่งดีกว่าภาษาอื่นเพราะม้านั่งโง่ ๆ อย่างไรก็ตามฉันสงสัยว่าทำไมผลลัพธ์จึงแตกต่างกันมาก โปรดดูคำถามของฉันที่ด้านล่าง คำอธิบายเกณฑ์มาตรฐานคณิตศาสตร์ Benchmark คือการคำนวณทางคณิตศาสตร์อย่างง่ายเพื่อหาคู่ของจำนวนเฉพาะที่แตกต่างกันด้วย 6 (เรียกว่าsexy primes ) เช่น sexy primes ต่ำกว่า 100 จะเป็น:(5 11) (7 13) (11 17) (13 19) (17 23) (23 29) (31 37) (37 43) (41 47) (47 53) (53 …

19
การเขียนโปรแกรมเชิงฟังก์ชันเกี่ยวข้องกับการพัฒนาเว็บหรือไม่ [ปิด]
ปิด . คำถามนี้ต้องการรายละเอียดหรือความคมชัด ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อเร็ว ๆ นี้ฉันได้เห็นเกี่ยวกับการเขียนโปรแกรมเชิงฟังก์ชันและ Clojure ดูน่าสนใจเป็นพิเศษ ในขณะที่ฉัน 'เข้าใจ' คำอธิบายพื้นฐานว่ามันคืออะไร แต่ฉันไม่สามารถเข้าใจได้ว่าฉันจะใช้มันในแต่ละวันในฐานะนักพัฒนาเว็บได้อย่างไรถ้าฉันทำได้ สิ่งที่ฉันได้อ่านจำนวนมากมุ่งเน้นไปที่ด้านคณิตศาสตร์ของการเขียนโปรแกรมเชิงฟังก์ชันแทนที่จะเป็นสถานการณ์การเขียนโปรแกรมทั่วไปที่พบใน OO ทั่วไป ฉันมีปลายไม้ผิดหรือไม่? การเขียนโปรแกรมเชิงฟังก์ชันไม่เกี่ยวข้องกับการพัฒนาเว็บโดยสิ้นเชิงหรือไม่ ถ้าไม่มีมีตัวอย่างการใช้ "สำหรับเว็บ" หรือไม่

5
สร้างการเรียงสับเปลี่ยนอย่างเฉื่อยชา
ฉันกำลังมองหาอัลกอริทึมเพื่อสร้างการเรียงสับเปลี่ยนของชุดในลักษณะที่ฉันสามารถสร้างรายการขี้เกียจใน Clojure ได้ เช่นฉันต้องการวนซ้ำรายการของการเรียงสับเปลี่ยนโดยที่การเรียงสับเปลี่ยนแต่ละรายการจะไม่ถูกคำนวณจนกว่าฉันจะร้องขอและการเรียงสับเปลี่ยนทั้งหมดไม่จำเป็นต้องเก็บไว้ในหน่วยความจำในครั้งเดียว หรือฉันกำลังมองหาอัลกอริทึมที่กำหนดชุดหนึ่งมันจะส่งคืนการเรียงสับเปลี่ยน "ถัดไป" ของชุดนั้นในลักษณะที่เรียกฟังก์ชันซ้ำ ๆ บนเอาต์พุตของตัวเองจะวนรอบการเรียงสับเปลี่ยนทั้งหมดของชุดเดิมใน คำสั่งบางอย่าง (คำสั่งซื้อใดไม่สำคัญ) มีอัลกอริทึมดังกล่าวหรือไม่? อัลกอริธึมการสร้างการเปลี่ยนแปลงส่วนใหญ่ที่ฉันเคยเห็นมักจะสร้างทั้งหมดพร้อมกัน (โดยปกติจะเรียกซ้ำ) ซึ่งไม่ได้ปรับขนาดเป็นชุดใหญ่มาก การใช้งานใน Clojure (หรือภาษาที่ใช้งานได้อื่น) จะเป็นประโยชน์ แต่ฉันสามารถหาได้จาก pseudocode

5
บทช่วยสอนที่อ่อนโยนสำหรับ Emacs / Swank / Paredit สำหรับ Clojure
ฉันกำลังย้ายไปที่ Emacs เพื่อทำงานกับClojure / Lisp ข้อมูลทั้งหมดที่ฉันต้องใช้ในการตั้งค่า Emacs เพื่อให้สามารถทำสิ่งต่อไปนี้ได้คืออะไร? การจับคู่อัตโนมัติ / การสร้างวงเล็บปิดที่เกี่ยวข้อง autoindent Lisp / Clojure style ไม่ใช่ C ++ / Java style การเน้นไวยากรณ์ การเรียกใช้REPL เพื่อให้สามารถโหลดโค้ดบางส่วนจากไฟล์ลงใน REPL และประเมินได้ จะดีมากถ้าฉันสามารถรับรายการคำสั่งเพื่อรับสิ่งเหล่านี้หลังจากตั้งค่าสิ่งต่างๆบน Emacs
87 emacs  clojure 


3
ฟังก์ชันชวเลขที่ไม่ระบุชื่อ
มีบางอย่างที่ฉันไม่เข้าใจเกี่ยวกับฟังก์ชันที่ไม่ระบุชื่อโดยใช้สัญกรณ์สั้น ๆ # (.. ) ผลงานดังต่อไปนี้: REPL> ((fn [s] s) "Eh") "Eh" แต่สิ่งนี้ไม่: REPL> (#(%) "Eh") ใช้งานได้: REPL> (#(str %) "Eh") "Eh" สิ่งที่ฉันไม่เข้าใจคือทำไม(# (%) "เอ๊ะ")ไม่ทำงานและในขณะเดียวกันฉันก็ไม่จำเป็นต้องใช้str in ((fn [s] s) "เอ๊ะ") ทั้งสองเป็นฟังก์ชันที่ไม่ระบุตัวตนและทั้งคู่ใช้พารามิเตอร์เดียวที่นี่ เหตุใดสัญกรณ์ชวเลขจึงจำเป็นต้องมีฟังก์ชันในขณะที่สัญกรณ์อื่นไม่มี

2
เหตุใด Clojure จึงมี 5 วิธีในการกำหนดคลาสแทนที่จะเป็นเพียงวิธีเดียว
Clojure มี gen-class, reify, proxy และยังมี deftype และ defrecord เพื่อกำหนดประเภทข้อมูลที่เหมือนคลาสใหม่ สำหรับภาษาที่ให้ความสำคัญกับความเรียบง่ายทางวากยสัมพันธ์และหลีกเลี่ยงความซับซ้อนที่ไม่จำเป็นดูเหมือนว่าจะเป็นความคลาด ใครช่วยอธิบายได้ว่าทำไมถึงเป็นเช่นนั้น? Defclass สไตล์ Lisp ทั่วไปจะเพียงพอหรือไม่?

1
Clojure "ซ้ำ ๆ " ทำให้ "อนาคต" ทำงานตามลำดับ
ในขณะที่ตัวอย่างนี้ (dorun (map deref (map #(future (println % (Thread/currentThread))) (range 10)))) พิมพ์ 10 เส้นผสมที่แสดงหัวข้อที่แตกต่าง: 0 #object[java.lang.Thread 0x5f1b4a83 Thread[clojure-agent-send-off-pool-26,5,main]] 2 #object[java.lang.Thread 1 0x79dfba1f #object[Thread[clojure-agent-send-off-pool-28,5,main]java.lang.Thread] 3 4 #object[java.lang.Thread #object[java.lang.Thread 0x7ef7224f Thread[clojure-agent-send-off-pool-27,5,main]0x5f1b4a83 ]Thread[clojure-agent-send-off-pool-26,5,main]] 5 67 #object[java.lang.Thread #object[0x79dfba1f java.lang.Thread Thread[clojure-agent-send-off-pool-28,5,main]]0x77526645 8 #object[java.lang.Thread #object[java.lang.ThreadThread[clojure-agent-send-off-pool-29,5,main] ]9 #object[java.lang.Thread 0xc143aa5 0x7ef7224f Thread[clojure-agent-send-off-pool-31,5,main]]Thread[clojure-agent-send-off-pool-27,5,main]] 0x1ce8675f 0x379ae862 Thread[clojure-agent-send-off-pool-30,5,main]Thread[clojure-agent-send-off-pool-32,5,main]]] อย่างที่ฉันคาดไว้ตัวอย่างต่อไปนี้: (dorun (map …
12 clojure 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.