开始elisp如何在没有实际使用除法符号的情况下编写除法

时间:2014-11-26 00:30:09

标签: emacs lisp elisp

我正在开始使用elisp,我想编写一个函数来分割2个数字而不使用divison符号。我得到错误符号的值作为变量是void:div

(cl-flet ((div (x y z)
            (cond ((< x y) (message "hello world"))
                  ((> x y) (div (- x y) y (+ 1 z))))))
  (let ((a 30) (b 10))
    (div a b 1)))

我在erlang中编写的相同功能:

start(A, B)->
    ds(A, B, 0).

ds(A, B, C) when ( A -  ( B * (C + 1))) >=  0 ->
    ds(A, B, C+1);
ds(_A, _B, C) ->
 C.

1 个答案:

答案 0 :(得分:3)

您不能将flet用于递归函数,而是必须使用labels