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,我正在执行一个除法?函数,该函数将除数x和数字n作为输入。如果x除以n,则函数应返回true,否则返回false 目前,这个函数运行良好,但我需要通过添加一个带有filter方法的匿名函数来进一步扭曲它,并且参数的顺序必须正确(xn),而不是(nx) 如有任何想法,将不胜感激: 分割?: (defn Divides? [x n] (zero? (mod n x))) (println "Divides"( Divides? 2 10)) //output : true 听起来你只是想翻转一

我正在执行一个
除法?
函数,该函数将除数x和数字n作为输入。如果x除以n,则函数应返回true,否则返回false

目前,这个函数运行良好,但我需要通过添加一个带有filter方法的匿名函数来进一步扭曲它,并且参数的顺序必须正确
(xn)
,而不是
(nx)

如有任何想法,将不胜感激:

分割?:

(defn Divides? [x n]
 (zero? (mod n x)))
(println "Divides"( Divides? 2 10))
 //output : true

听起来你只是想翻转一个函数的参数,在这种情况下。一旦能够翻转函数接受的参数,就不需要重新实现任何东西,而是执行以下操作:

(defn除以?[xn]
(零(模nx)))
(定义翻转[f]
(fn[&xs]
(应用f(反向xs)))
((翻转分割?)8 4)

不太清楚,在当前函数中,参数已经是
xn
而不是
nx
。另外,您将如何将其与过滤器一起使用?名称
x
n
没有什么神奇之处。任何不同的名称都可以。要使它们按正确的顺序排列,只需在第一行或第二行交换它们。过滤是一个单独的问题,您没有明确说明。我不允许更改
x
n
的顺序,因此我必须找出如何以正确的顺序将参数传递给
除法
函数。因此,我需要使用过滤方法,但不知道如何使用!如果参数的顺序正确,则可以使用partial,但最终,定义一个非fn非常简单:
#(除%42)