【问题标题】:Abstract structure of ClojureClojure抽象结构
【发布时间】:2023-01-30 02:56:18
【问题描述】:

我一直在学习 Clojure,当我意识到我仍然在努力解释代码时,通过一本关于它的书是一个很好的方法。我正在寻找的是 Clojure 用来解析代码的抽象结构、接口或规则。我认为它看起来像:

(some-operation optional-args)

optional-args 几乎可以是任何东西,这就是我开始感到困惑的地方。

(operation optional-name-string [vector of optional args]) 等于 (defn newfn [argA, argB])

我认为这种模式适用于所有列表(),但 Clojure 具有如此多的灵活性和变化,我不确定。了解口译员遵循的规则真的很有帮助。

【问题讨论】:

标签: clojure


【解决方案1】:

在开始使用 Clojure 编码之前,我强烈建议您学习函数式编程和 LISB。在 Clojure 中,一切都是前缀,当你想要运行特定函数时,你将调用它,然后为其提供一些参数。例如,1+2+3 在 Clojure 中将是 (+ 1 2 3)。换句话说,您调用的每个函数都将位于括号的开头,并且其所有参数都将跟在函数名称之后。 如果你定义一个函数,你可以这样做:

(defn newfunc [a1 a2]
(+ 100 a1 a2))

其中 newfunc 添加 100 和 a1 和 a2。当你调用它时,你应该这样做:

(newfunc 1 2)

结果将是 103。 在第一个例子中,+ 是一个函数,所以我们在括号的开头调用它。 Clojure 是一个充满简单的美丽世界。请深入学习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    相关资源
    最近更新 更多