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

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

6
Scala vs. Groovy vs. Clojure [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ใครช่วยกรุณาอธิบายความแตกต่างที่สำคัญระหว่าง Scala, Groovy และ Clojure ฉันรู้ว่าคอมไพล์เหล่านี้ทำงานบน JVM แต่ฉันต้องการเปรียบเทียบง่าย ๆ ระหว่างพวกเขา

1
ฉันจะทำให้ nrepl-ritz-jack-in ทำงานจาก TRAMP / Emacs จากระยะไกลได้อย่างไร
สิ่งที่ฉันต้องการ: ฉันมีโปรแกรม Clojure mccarthyบนไซต์ระยะไกลขอเรียกว่า สิ่งที่ฉันต้องการจะทำคือการเชื่อมต่อกับแล็ปท็อปของฉันควรใช้nrepl-ritz nrepl-ritz-jack-inแจ็คทำงานได้ดีสำหรับโปรแกรมในเครื่อง แต่ดูเหมือนจะไม่เชื่อมต่อกับโปรแกรมระยะไกล พยายาม 1 C-x C-f บน /mccarthy:code/program/project.clj (require 'nrepl-ritz) M-x nrepl-ritz-jack-in ผลลัพธ์ ดูเหมือนว่า emac จะแขวน ถ้าฉันไปที่*nrepl-server*บัฟเฟอร์ฉันเห็นสิ่งนี้: Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.flatland.drip.Main.invoke(Main.java:117) at org.flatland.drip.Main.start(Main.java:88) at org.flatland.drip.Main.main(Main.java:64) Caused by: java.lang.AssertionError: Assert failed: project at leiningen.ritz_nrepl$start_jpda_server.invoke(ritz_nrepl.clj:23) …
299 emacs  clojure  nrepl 

14
แก้ไขข้อบกพร่องใน Clojure? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ วิธีที่ดีที่สุดในการดีบักโค้ด Clojure ในขณะที่ใช้งาน repl คืออะไร
227 debugging  clojure 

16
คุณสร้างเว็บแอปพลิเคชันใน Clojure ได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันคิดว่านี่เป็นคำถามแปลก ๆ สำหรับโปรแกรมเมอร์ส่วนใหญ่ที่ทำงานกับ Java ทุกวัน ฉันไม่. ฉันรู้ภาษา Java เพราะฉันทำงานกับโปรเจ็กต์ Java แต่ไม่ใช่ Java-the-world ฉันไม่เคยสร้างเว็บแอปตั้งแต่เริ่มต้นใน Java ถ้าฉันต้องทำกับ Python, Ruby ฉันรู้ว่าต้องไปที่ไหน (Django หรือ Rails) แต่ถ้าฉันต้องการสร้างเว็บแอปพลิเคชันใน Clojure ไม่ใช่เพราะฉันถูกบังคับให้อยู่ในโลก Java แต่เพราะฉัน ชอบภาษาและฉันต้องการลองใช้ฉันควรใช้ไลบรารี่และกรอบงานใดบ้าง
216 clojure 

13
มีวิธีการทางวิศวกรรมซอฟต์แวร์สำหรับการตั้งโปรแกรมการทำงานหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ วิศวกรรมซอฟต์แวร์ตามที่ได้รับการสอนในปัจจุบันมุ่งเน้นไปที่การเขียนโปรแกรมเชิงวัตถุและมุมมองเชิงวัตถุ 'ธรรมชาติ' ของโลก มีวิธีการอย่างละเอียดที่อธิบายวิธีการแปลงโมเดลโดเมนเป็นโมเดลคลาสที่มีหลายขั้นตอนและสิ่งประดิษฐ์จำนวนมาก (UML) เช่น use-case-diagrams หรือ class-diagrams โปรแกรมเมอร์จำนวนมากใช้วิธีนี้ภายในและมีความคิดที่ดีเกี่ยวกับวิธีการออกแบบแอปพลิเคชันเชิงวัตถุตั้งแต่เริ่มต้น hype ใหม่คือการเขียนโปรแกรมใช้งานได้ซึ่งสอนในหนังสือและแบบฝึกหัดมากมาย แต่สิ่งที่เกี่ยวกับวิศวกรรมซอฟต์แวร์การทำงาน? ในขณะที่อ่านเกี่ยวกับ Lisp และ Clojure ฉันมาถึงสองข้อความที่น่าสนใจ: โปรแกรมการทำงานนั้นมักจะถูกพัฒนาจากล่างขึ้นบนแทนที่จะเป็นบนลงล่าง ('บน Lisp', Paul Graham) ฟังก์ชั่นโปรแกรมเมอร์ใช้แผนที่ที่ OO-โปรแกรมเมอร์ใช้วัตถุ / คลาส ('Clojure สำหรับ Java โปรแกรมเมอร์', พูดคุยโดย Rich Hickley) ดังนั้นวิธีการสำหรับการออกแบบอย่างเป็นระบบ (ตามรูปแบบ?) ของการใช้งานคือใน Lisp หรือ Clojure? ขั้นตอนทั่วไปคืออะไรฉันใช้สิ่งประดิษฐ์อะไรฉันจะแม็พสิ่งเหล่านั้นจากพื้นที่ปัญหาไปยังพื้นที่โซลูชันอย่างไร

8
วิธีโหลดไฟล์ clojure ใหม่ใน REPL
เป็นวิธีที่ต้องการของฟังก์ชั่นการโหลดใหม่ที่กำหนดไว้ในไฟล์ Clojure โดยไม่ต้องรีสตาร์ท REPL ตอนนี้เพื่อที่จะใช้ไฟล์ที่อัปเดตฉันต้อง: แก้ไข src/foo/bar.clj ปิด REPL เปิด REPL (load-file "src/foo/bar.clj") (use 'foo.bar) นอกจากนี้(use 'foo.bar :reload-all)จะไม่ส่งผลให้เกิดผลตามที่ต้องการซึ่งกำลังประเมินเนื้อความของฟังก์ชั่นที่แก้ไขแล้วและคืนค่าใหม่แทนที่จะทำตัวเป็นแหล่งที่มาไม่ได้เปลี่ยนแปลงเลย เอกสารอ้างอิง: โหลดไฟล์ ใช้

9
เรียก clojure จาก java
google hit อันดับต้น ๆ สำหรับ "การเรียก clojure จาก java" นั้นล้าสมัยและแนะนำให้ใช้clojure.lang.RTเพื่อคอมไพล์ซอร์สโค้ด คุณสามารถช่วยอธิบายอย่างชัดเจนเกี่ยวกับวิธีเรียก Clojure จาก Java โดยสมมติว่าคุณได้สร้าง jar จากโครงการ Clojure และรวมไว้ใน classpath ได้หรือไม่

6
ใน Clojure 1.3 วิธีการอ่านและเขียนไฟล์
ฉันต้องการทราบวิธีการ "แนะนำ" ในการอ่านและเขียนไฟล์ใน Clojure 1.3 วิธีอ่านไฟล์ทั้งหมด วิธีอ่านไฟล์ทีละบรรทัด วิธีเขียนไฟล์ใหม่ วิธีเพิ่มบรรทัดลงในไฟล์ที่มีอยู่
163 file  clojure  io 

18
ทดสอบว่ารายการมีค่าเฉพาะใน Clojure
เป็นวิธีที่ดีที่สุดในการทดสอบว่ารายการมีค่าที่กำหนดใน Clojure อะไร โดยเฉพาะอย่างยิ่งพฤติกรรมของcontains?ในปัจจุบันทำให้ฉันสับสน: (contains? '(100 101 102) 101) => false เห็นได้ชัดว่าฉันสามารถเขียนฟังก์ชั่นง่าย ๆ เพื่อสำรวจรายการและทดสอบความเท่าเทียมกัน แต่ต้องมีวิธีมาตรฐานในการทำเช่นนี้หรือไม่?


16
วิธีที่ดีที่สุดในการทำ GUIs ใน Clojure คืออะไร
วิธีที่ดีที่สุดในการทำ GUIs ในClojureคืออะไร มีตัวอย่างของฟังก์ชั่นSwingหรือSWT wrapper หรือไม่? หรือการบูรณาการบางอย่างกับคำอธิบาย GUI ที่ประกาศJavaFXซึ่งสามารถห่อไปที่s-expressionsได้อย่างง่ายดายโดยใช้ macrology บางอย่าง? บทเรียนใด ๆ

5
ใน Clojure ฉันควรใช้เวกเตอร์กับรายการและวิธีอื่น ๆ เมื่อใด
ฉันอ่านแล้วว่า Vectors ไม่ใช่ seqs แต่ Lists คือ ฉันไม่แน่ใจว่าเหตุผลสำหรับการใช้อย่างใดอย่างหนึ่งมากกว่าที่อื่น ดูเหมือนว่าเวกเตอร์จะถูกใช้มากที่สุด แต่มีเหตุผลสำหรับสิ่งนั้นหรือไม่?

30
เสียงกระเพื่อมในโลกแห่งความจริง
ฉันได้ทดลองกับ Lisp (จริง ๆ แล้ว Scheme) และพบว่ามันเป็นภาษาที่สวยงามมากที่ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ อย่างไรก็ตามปรากฏว่า Lisp ไม่เคยถูกใช้ในโครงการที่จริงจังและฉันไม่ได้เห็นมันเป็นทักษะที่ต้องการในการโพสต์งานใด ๆ ฉันสนใจที่จะได้ยินจากใครก็ตามที่ใช้เสียงกระเพื่อมหรือเห็นมันใช้ใน "โลกแห่งความจริง" หรือใครจะรู้ว่ามันเป็นภาษาวิชาการอย่างแท้จริงหรือไม่

4
โปรดอธิบายบางประเด็นของ Paul Graham เกี่ยวกับ Lisp
ฉันต้องการความช่วยเหลือบางทำความเข้าใจบางจุดจากพอลเกรแฮมสิ่งที่ทำให้เสียงกระเพื่อมที่แตกต่างกัน แนวคิดใหม่ของตัวแปร ใน Lisp ตัวแปรทั้งหมดเป็นตัวชี้อย่างมีประสิทธิภาพ ค่าคือสิ่งที่มีประเภทไม่ใช่ตัวแปรและการกำหนดหรือตัวแปรที่มีผลผูกพันหมายถึงการคัดลอกพอยน์เตอร์ไม่ใช่สิ่งที่พวกเขาชี้ไปที่ ประเภทสัญลักษณ์ สัญลักษณ์แตกต่างจากสตริงที่คุณสามารถทดสอบความเท่าเทียมกันโดยการเปรียบเทียบตัวชี้ สัญกรณ์สำหรับรหัสโดยใช้สัญลักษณ์ของต้นไม้ ภาษาทั้งหมดใช้ได้เสมอ ไม่มีความแตกต่างที่แท้จริงระหว่างเวลาอ่านเวลาคอมไพล์และรันไทม์ คุณสามารถรวบรวมหรือเรียกใช้รหัสในขณะที่อ่านอ่านหรือเรียกใช้รหัสในขณะที่รวบรวมและอ่านหรือรวบรวมรหัสที่รันไทม์ ประเด็นเหล่านี้หมายความว่าอย่างไร พวกเขาแตกต่างกันในภาษาเช่น C หรือ Java อย่างไร ภาษาอื่นที่ไม่ใช่ภาษาตระกูล Lisp มีโครงสร้างเหล่านี้หรือไม่?

12
ทำไมความชั่วร้ายจึงเป็นจริง?
ฉันรู้ว่าโปรแกรมเมอร์ Lisp และ Scheme มักจะบอกว่าevalควรหลีกเลี่ยงเว้นแต่จำเป็นอย่างเคร่งครัด ผมเคยเห็นคำแนะนำเหมือนกันสำหรับการเขียนโปรแกรมภาษาหลาย evalแต่ฉันยังไม่เห็นรายชื่อของการขัดแย้งที่ชัดเจนกับการใช้งานของ ฉันจะหาบัญชีของปัญหาที่อาจเกิดขึ้นจากการใช้งานได้evalที่ไหน ตัวอย่างเช่นผมรู้ว่าปัญหาของGOTOในการเขียนโปรแกรมขั้นตอน (โปรแกรมทำให้อ่านได้ยากและยากที่จะรักษาทำให้ปัญหาความปลอดภัยยากที่จะหา ฯลฯ ) evalแต่ผมไม่เคยเห็นมีปากเสียงกับ ที่น่าสนใจข้อโต้แย้งที่เหมือนกันGOTOนั้นน่าจะใช้ได้กับการต่อเนื่อง แต่ฉันเห็นว่า Schemers นั้นจะไม่พูดว่าการต่อเนื่องนั้นเป็น "ความชั่วร้าย" - คุณควรระวังเมื่อใช้มัน พวกเขามีแนวโน้มที่จะขมวดคิ้วเมื่อใช้โค้ดevalมากกว่าใช้โค้ดต่อเนื่อง (เท่าที่ฉันเห็น - ฉันอาจผิด)

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