- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这实际上是两个相关的问题。
(flet ((myfun (x) (+ x 3)))
(myfun 3))
(let ((myfun (lambda (x) (+ x 3))))
(funcall myfun 3))
(let ((myfun (lambda (x) (+ x 3))))
(myfun 3))
最佳答案
让我们从你的第二个问题开始:
- Are the examples A and B below equivalent?
funcall
)。
- What is the difference between flet and let for binding functions.
myfun
到一个功能对象,而第二个将一个普通的词法变量绑定(bind)到同一个功能对象。
(flet ((myfun (x) (when (< x 0) (return-from myfun 0)) (+ x 3))) (myfun -4))
,而
let
则不可能)。
flet
只是双胞胎特殊运营商的一部分
flet
,
labels
定义局部函数(与
macrolet
一起定义局部宏,参见
specification )。和
labels
运算符,您可以定义递归局部函数,这是 let 无法实现的。
关于common-lisp - flet 与 let+funcall 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34752215/
我正在尝试暂时关闭 yes-or-no-p在别处定义的函数中,然后将事物恢复到原来的样子。使用 flet有效,但会创建一个 *compile-log*缓冲区告诉我它已经过时并使用 cl-flet 代替
我安装的一些 elisp 函数会生成警告: `flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'. 如
我想将一个命令动态重定向到另一个命令 使用环绕建议的某些功能,如下所示: (defun f1 (arg) (interactive (list (read-from-minibuffer "F1:
我在 foo 中定义了一组函数,我还想在 bar 中使用它们。我在 foo 中定义了这些函数,因为我希望 foo 是独立的——否则我知道我可以在外部(全局)定义这些函数以供 foo 和 bar 等函数
flet 没有 flet*,因为 let 有 let* 我可以找到在 emacs lisp 中——那么这四种替代方案中的任何一种是否更适合定义由 flet 定义的单个函数多次使用的函数?在此示例中,a
cl-flet 的当前缩进在我看来真的很丑。 参见例如: (defun foo (lst) (cl-flet ((unusually-long-bar (x)
我做了一个pwa,现在我想把它发布到我的网站上,这个网站使用了Flet。问题是,我不知道如何将Flet和Full结合起来。我想代码应该是这样的:。但每次我运行它,它都会说。而这个错误。以下是一份日志:
LET block 嵌套在 FLET/LABELS block 中是惯用的还是非惯用的? 同样,我可能完全错了,但我正在尝试模仿 Haskell 中的通用 where block (所以我有一个 de
在 flutter 中,我可以使用 为 Android 应用程序构建 APK 文件 flutter build apk 如何为使用 Flet (python) 开发的应用程序构建 APK 文件? 最佳
这实际上是两个相关的问题。 绑定(bind)函数的 flet 和 let 有什么区别。 下面的示例 A 和 B 是否等效? 一种) (flet ((myfun (x) (+ x 3))) (myf
我不知道你是否会称其为规范公式,但为了绑定(bind)本地函数,GNU 手册建议我使用“flet”: (defun adder-with-flet (x) (flet ( (f (x) (+ x
一边检查let over lambda我碰巧遇到 (defmacro! dlambda (&rest ds) `(lambda (&rest ,g!args) (case (car ,g
我想在Flet文件拾取器中拾取一个SRT格式的文件。但文件说我只能打开图像、视频、媒体、音频和自定义文件。在Custom前面,他们写道:“只有扩展名来自Allowed_Exages列表的文件。”。我检
是否类似于setq和 setf ? flet之间没有太大区别和 labels ? 真挚地! 最佳答案 在 Common Lisp 中,flet和 labels制作稍微不同种类的词法绑定(bind):
我是一名优秀的程序员,十分优秀!