我现在使用的是 emacs 24.3,所以hash-table-values
不可用。所以我想写这个函数,但前提是它不存在。这样,我的代码现在可以工作,当我切换到 emacs 24.4 时,它将使用默认函数。
在 PHP 中,我会写如下内容:
if (!function_exists('hash_table_values')) {
function hash_table_values() {}
}
elisp中是否有一些等价物?
我现在使用的是 emacs 24.3,所以hash-table-values
不可用。所以我想写这个函数,但前提是它不存在。这样,我的代码现在可以工作,当我切换到 emacs 24.4 时,它将使用默认函数。
在 PHP 中,我会写如下内容:
if (!function_exists('hash_table_values')) {
function hash_table_values() {}
}
elisp中是否有一些等价物?
感谢#emacs@freenode 的一些指导,这里是神奇的功能:fboundp
.
(unless (fboundp 'fn)
(defun fn ()))
对于真正的实现hash-table-values
:
(unless (fboundp 'hash-table-values)
(defun hash-table-values (hashtable)
(let (allvals)
(maphash (lambda (_kk vv) (push vv allvals)) hashtable)
allvals)))
感谢 ergoemacs 的哈希表值实现。