我需要在clojure语言中运行代码的步骤,该语言包含java中的GUI
我有一个大问题,我的医生想让我使用新语言(clojure)制作计算器,但我对此一无所知。我从www.clojure.org上阅读了一些信息,但我仍然有一个问题,即如何将代码保存在文件中以便下次运行,我需要如何将java连接到clojure的路径。我发现以下代码:我需要在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
(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名称
- 重复,黑客,并有一些乐趣李>
听起来是学习一门有趣的新语言的好理由 对于开始使用新的clojure项目,leiningen工具可以让您非常快速地编译和运行代码。(我假设这里是mac或linux)
- 安装
- 新项目名称
- 将代码放在项目名称/src/…中/core.clj文件
- 莱因尤伯贾尔
- java-jar文件的jar名称
- 重复,黑客,并有一些乐趣李>
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版本的实际链接为