Как сделать функцию деления в Clojure? - PullRequest
0 голосов
/ 11 января 2020

Я делаю Divides? функцию, которая принимает в качестве входных данных делитель x и число n. Функция должна возвращать true, если x делит n и false в противном случае.

на данный момент эта функция работает нормально, но мне нужно немного ее изменить, добавив анонимную функцию с методом фильтра, а также аргументы должны быть в правильном порядке (x n), а не (n x).

Буду признателен за любые идеи:

Делится?:

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

1 Ответ

0 голосов
/ 14 января 2020

Похоже, вы просто хотите перебросить аргументы функции, и в этом случае этот ответ может помочь . Как только вы сможете перевернуть аргументы, которые принимает функция, вам не нужно ничего переопределять, вместо этого сделайте что-то вроде:

(defn Divides? [x n]
 (zero? (mod n x)))

(defn flip [f]
  (fn [& xs]
    (apply f (reverse xs))))

((flip Divides?) 8 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...