我真的很想精通用于 Web 应用程序的 Clojure/Clojurescript。现在我正在制作简单的命令行应用程序来感受这种语言。
但是现在很难掌握如何在没有可变变量的语言中完成工作的工作流程。
我的问题是:我正在制作一个小的RPN计算器,用户可以在其中输入数字以添加到堆栈中,还可以对堆栈进行数学运算:
> ;adding to stack
> 4 4
> ; print the stack
> [4, 4]
> 2 3
> p
> [4 4 2 3]
> ; adding the top two items to the stack
> +
> p
> [4 4 5]
> + -
> p
> [-5]
所以我的问题是如果没有变量,如何跟踪堆栈。我首先使用 Java 堆栈在 Java 中编写了这个,显然在 Clojure 中这将是一种非常不同的方法,但我不太确定解决问题的方法。