我需要在clojure语言中运行代码的步骤,该语言包含java中的GUI

我需要在clojure语言中运行代码的步骤,该语言包含java中的GUI,clojure,Clojure,我有一个大问题,我的医生想让我使用新语言(clojure)制作计算器,但我对此一无所知。我从www.clojure.org上阅读了一些信息,但我仍然有一个问题,即如何将代码保存在文件中以便下次运行,我需要如何将java连接到clojure的路径。我发现以下代码: (ns rayne.main (:gen-class) (:import (javax.swing JFrame JTextField JButton JOptionPane) (java.awt.e

我有一个大问题,我的医生想让我使用新语言(clojure)制作计算器,但我对此一无所知。我从www.clojure.org上阅读了一些信息,但我仍然有一个问题,即如何将代码保存在文件中以便下次运行,我需要如何将java连接到clojure的路径。我发现以下代码:

(ns rayne.main 
  (:gen-class) 
  (:import (javax.swing JFrame JTextField JButton JOptionPane) 
           (java.awt.event ActionListener) 
           (java.awt GridLayout))) 

(def numbers (ref [])) 
(def times-clicked (ref 0)) 

(defn calc [nseq op] 
  (let [n1 (first nseq) 
       n2 (last nseq)] 
  (cond 
     (= op "+") (+ n1 n2) 
     (= op "*") (* n1 n2) 
     (= op "-") (- n2 n1) 
     (= op "/") (/ n1 n2)))) 

(defn add-op-button [op text button] 
   (.addActionListener button 
    (proxy [ActionListener] [] 
      (actionPerformed [e] 
      (dosync 
       (ref-set times-clicked (inc @times-clicked)) 
       (if (= @times-clicked 2) 
         (do 
         (let [result (.toString (calc @numbers op)) 
               result2 (read-string result)] 
           (.setText text result) 
           (ref-set numbers []) 
           (ref-set times-clicked 0))) 
       (do 
         (ref-set numbers (conj @numbers (read-string (.getText text)))) 
         (.setText text "")))))))) 

(defn -main [] 
  (let [frame (JFrame. "Calculator") 
        add-button (JButton. "+") 
        sub-button (JButton. "-") 
        mul-button (JButton. "*") 
        div-button (JButton. "/") 
        clr-button (JButton. "Clear") 
        text-field (JTextField.)] 
    (add-op-button "+" text-field add-button) 
    (add-op-button "-" text-field sub-button) 
    (add-op-button "*" text-field mul-button) 
    (add-op-button "/" text-field div-button) 
(doto frame 
   (.setLayout (GridLayout. 1 5)) 
  (.add text-field) 
  (.add add-button) 
  (.add sub-button) 
  (.add mul-button) 
  (.add div-button) 
  (.setSize 500 100) 
  (.setVisible true)))) 
所以当我尝试测试它时,我不知道它是如何工作的。 请我需要一些人来帮助我在这个问题上,并给我发送一个链接,安装一个clojure程序来执行这样一个文件。
谢谢大家

听起来是学习一门有趣的新语言的好理由

对于开始使用新的clojure项目,leiningen工具可以让您非常快速地编译和运行代码。(我假设这里是mac或linux)

  • 安装
  • 新项目名称
  • 将代码放在项目名称/src/…中/core.clj文件
  • 莱因尤伯贾尔
  • java-jar文件的jar名称
  • 重复,黑客,并有一些乐趣
Leiningen还可以为您启动一个repl,它将加速您的迭代,并(通过slime/swank)与emacs很好地集成


听起来是学习一门有趣的新语言的好理由

对于开始使用新的clojure项目,leiningen工具可以让您非常快速地编译和运行代码。(我假设这里是mac或linux)

  • 安装
  • 新项目名称
  • 将代码放在项目名称/src/…中/core.clj文件
  • 莱因尤伯贾尔
  • java-jar文件的jar名称
  • 重复,黑客,并有一些乐趣
Leiningen还可以为您启动一个repl,它将加速您的迭代,并(通过slime/swank)与emacs很好地集成


Clojure.org有一个很好的部分,叫做关于。。。开始。从获取clojure zip文件到调试和分析。非常非常基本


还有指向更高级资源的链接。

Clojure.org有一个很好的部分,名为关于。。。开始。从获取clojure zip文件到调试和分析。非常非常基本


还有指向更高级资源的链接。

将代码缩进四个空格以使其格式正确我无法理解问题,懂问题的人可以编辑英语吗?将代码缩进四个空格以使其格式正确我无法理解问题,理解这个问题的人可以编辑英文吗?谢谢你的帮助,但问题是我需要一个在windows操作系统上工作的程序,而不是lunix或sun:S。我认为leiningen在lunix上工作,而不是在windows操作系统上工作:(对吗?谢谢你的帮助,但问题是我需要一个在windows操作系统上工作的程序,而不是lunix或sun:S。我认为leiningen在lunix而不是windows操作系统上工作:(对吗?非常感谢,我进入了这个页面,但我不明白clojure zip文件是什么意思?你能帮我吗?这是你将从这里下载的内容:。最新稳定的clojure发行版的实际链接是谢谢,我进入了这个页面,但我不明白他们使用clojure zip文件是什么意思。你能帮我吗?这是你想要的吗?)从此处下载:。到最新稳定clojure版本的实际链接为