我正在开始使用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.
答案 0 :(得分:3)
您不能将flet
用于递归函数,而是必须使用labels
。