我正在开始使用 elisp,我想编写一个函数来除以 2 个数字而不使用除号。我收到错误 Symbol's value as variable is 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.
最佳答案
递归函数不能使用flet
,必须使用labels
。
关于emacs - 开始 elisp 如何在不实际使用除号的情况下编写除号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139351/