Я изучаю LISP прямо сейчас, и я не нашел ничего о том, как получить модуль в LISP.Есть ли способ получить его внутри функции?Я знаю, что другие языки, такие как Java, используют% для нахождения модуля, но что использует LISP?
Как насчет mod, со страницы :
mod
(mod -1 5) => 4 (mod 13 4) => 1 (mod -13 4) => 3 (mod 13 -4) => -3
В качестве альтернативы mod функция Common Lisp floor возвращает модуль по модулю в качестве второго значения. Это полезно в тех случаях, когда вас также интересует частное.
floor
Существует две опции:
mod и rem являются обобщениями функций модуля и остатка соответственно. mod выполняет операцию floor для числа и делителя и возвращает остаток от операции floor. rem выполняет операцию усечения для числа и делителя и возвращает остаток от усеченияоперация. mod и rem являются функциями модуля и остатка, когда число и делитель являются целыми числами.
mod и rem являются обобщениями функций модуля и остатка соответственно.
mod выполняет операцию floor для числа и делителя и возвращает остаток от операции floor.
rem выполняет операцию усечения для числа и делителя и возвращает остаток от усеченияоперация.
mod и rem являются функциями модуля и остатка, когда число и делитель являются целыми числами.
Примеры:
> (rem -1 5) => -1 > (mod -1 5) => 4 > (mod 13 4) => 1 > (rem 13 4) => 1
Источник: http://clhs.lisp.se/Body/f_mod_r.htm
В Лиспе для функции модуля используется команда rem -reminder Пример (rem 13 4) результат 1