Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个clojure代码是做什么的?_Clojure - Fatal编程技术网

这个clojure代码是做什么的?

这个clojure代码是做什么的?,clojure,Clojure,请解释一下这个代码 由于没有使用Clojure gen类设备,我的答案可能有点模糊: 这将生成必要的字节码,该字节码大致相当于以下Java伪码: (ns utils (:gen-class :name Utils :methods [#^{:static true} [sum [java.util.Collection] long]])) (defn sum [coll] (reduce + coll)) (defn -sum [coll] (sum co

请解释一下这个代码

由于没有使用Clojure gen类设备,我的答案可能有点模糊:

这将生成必要的字节码,该字节码大致相当于以下Java伪码:

(ns utils
   (:gen-class :name Utils
               :methods [#^{:static true} [sum [java.util.Collection] long]]))

(defn sum [coll] (reduce + coll))

(defn -sum [coll] (sum coll))
-sum指示Clojure生成Java方法。 sum coll是对sum的第一个定义的调用,它只是一个常规Clojure函数定义
由于没有使用Clojure gen类设备,我的答案可能有点模糊:

这将生成必要的字节码,该字节码大致相当于以下Java伪码:

(ns utils
   (:gen-class :name Utils
               :methods [#^{:static true} [sum [java.util.Collection] long]]))

(defn sum [coll] (reduce + coll))

(defn -sum [coll] (sum coll))
-sum指示Clojure生成Java方法。 sum coll是对sum的第一个定义的调用,它只是一个常规Clojure函数定义
当然,你等的时候要炸薯条吗?或者稍微不那么愤世嫉俗地说:你试过理解它吗?你的解释是什么,你被困在哪里了?这不可能是家庭作业,对吧@Matt这实际上是我原来答案的复制粘贴:@Matt'defn sum[coll]reduce+coll defn-sum[coll]sum coll在这里,第一个sum函数是计算和。第二个求和函数sum是必需的,但为什么?两个函数名必须相同?它们不必相同。您可以将第一个总和重命名为您喜欢的任何值。和定义必须这样命名,因为:方法。。。[sum[java.util…]]definition当然,你等的时候想吃薯条吗?或者稍微不那么愤世嫉俗地说:你试过理解它吗?你的解释是什么,你被困在哪里了?这不可能是家庭作业,对吧@Matt这实际上是我原来答案的复制粘贴:@Matt'defn sum[coll]reduce+coll defn-sum[coll]sum coll在这里,第一个sum函数是计算和。第二个求和函数sum是必需的,但为什么?两个函数名必须相同?它们不必相同。您可以将第一个总和重命名为您喜欢的任何值。和定义必须这样命名,因为:方法。。。[sum[java.util…]]定义