Emacs Lisp字符表

x

我是一名学习emacs lisp的新生,因此我正在阅读emacs lisp手册。当我阅读6.6 Char-Tables时,我对如何使用char-table感到困惑。在该章中,我找不到使用char-table的好例子。

当然,elisp的语法表由char表和语法表组成,可以做很多事情。我想知道如何充分利用char-table,在哪种情况下我会使用它。

谢谢

丹尼尔·戴

我对Emacs Lisp编程不是很熟悉,但是仅从对数据结构的描述中,我立即想到了keymaps而且,事实证明,我是对的

在这种情况下,特别是使用“父”字符表是有意义的:例如,在激活模式时,该模式可能具有其提供的键绑定的键映射。在将当前键盘映射设置为模式键盘映射之前,当前键盘映射可能已成为该模式键盘的父级。这样,当模式的键盘映射不提供映射时,可以查询先前的键盘映射以获取适当的映射。


作为粗略的草图,这是我如何在C中实现char-tables的方法:

struct char_table {
  void * data[256 /* or how many char codes there are */];
  struct char_table * parent;
};

void * lookup(
    struct char_table * table,
    char /* or a more suitable type for char codes */ key) {
  void * result = table.data[key /* plus possibly some calculation */];
  if (!result && table.parent) {
    result = lookup(table.parent, key);
  }
  return result;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

emacs中的Lisp位置

来自分类Dev

emacs中的Lisp位置

来自分类Dev

emacs lisp pcase错误

来自分类Dev

Emacs Lisp代码缩进

来自分类Dev

Emacs Lisp:#s不会每次都创建新的哈希表

来自分类Dev

从(Emacs)Lisp中的字符串名称调用函数

来自分类Dev

@字符在Emacs Lisp中的作用是什么?

来自分类Dev

如何在Emacs Lisp中的光标处替换字符

来自分类Dev

从文件读入Emacs Lisp列表

来自分类Dev

在Emacs Lisp中使用查找

来自分类Dev

Lisp Box emacs如何配置?

来自分类Dev

在Emacs Lisp中使用查找

来自分类Dev

Emacs-在Emacs Lisp中定时执行函数调用

来自分类Dev

如何在字符串中搜索一组字符emacs-lisp

来自分类Dev

在Emacs Lisp中使用obarray而不是哈希表有什么好处吗?

来自分类Dev

Emacs Lisp正则表达式匹配所有内容,直到字符序列

来自分类Dev

如何在Emacs Lisp中捕获字符串的一部分?

来自分类Dev

如何在Emacs Lisp中将列表转换为字符串

来自分类Dev

如何在emacs lisp中捕获字符串中的replace-regexp结果

来自分类Dev

在emacs-lisp中,如何将点定位在文本字符串的中间?

来自分类Dev

Emacs Lisp-如何处理函数返回字符串或nil的情况?

来自分类Dev

检查字符串是否在Emacs Lisp中以后缀结尾

来自分类Dev

检查字符串是否在Emacs Lisp中以后缀结尾

来自分类Dev

Emacs Lisp-如何处理函数返回字符串或nil的极端情况?

来自分类Dev

在Emacs Lisp中以字符串形式获取“ which-func-mode”输出

来自分类Dev

Emacs Lisp:获得角色的ASCII价值

来自分类Dev

Emacs Lisp中的动态变量

来自分类Dev

Emacs Lisp错误“类型错误的参数:commandp”

来自分类Dev

在emacs lisp中嵌套反引号和`

Related 相关文章

热门标签

归档