Clojure - деление логическое - PullRequest
0 голосов
/ 14 декабря 2018

этот код должен выводиться ниже, однако я новичок в Clojure и не понимаю, как он работает, и мне потребуется некоторая помощь.

(defn divide? [a b]
(zero? (mod a b)))

///output///
(divides? 2 10)
 => true
(divides? 4 10)
=> false
 /// output///

однако фактический вывод:

 ///output///
 (divides? 2 10)
 => false
(divides? 4 10)
 => false
  /// output///

есть идеи как это исправить?

1 Ответ

0 голосов
/ 14 декабря 2018

Вам нужно только переключить аргументы на mod, чтобы получить правильный вывод:

(defn divisible-by? [div num]
  (zero? (mod num div)))

(divisible-by? 4 10)  ;=> false
(divisible-by? 2 10)  ;=> true
(divisible-by? -2 10) ;=> true

Для согласованности с clojure.core mod, rem, quot и т. Д.,Я бы подумал поменять местами аргументы вашей функции, чтобы num был первым, а div вторым.

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