2

我想在 emacs 中启用自动完成功能来编辑我的 R 文件。为此,我需要列出 R 语言中的所有关键字。有人知道这是否在某处可用?我知道我必须在我正在使用的外部包中包含所有函数名称,但现在 r-cran-base 中的内容列表对我来说应该没问题。

非常感谢!

4

7 回答 7

5

apropos使用空字符串参数将列出搜索路径上的所有对象。它是用于在默认 GUI 中完成的选项卡。

apropos("")
   [1] "-"                                    
   [2] "-.Date"                               
   [3] "-.POSIXt"                             
   [4] "!"                                    
   [5] "!.hexmode"                            
   [6] "!.octmode"
   ...
于 2013-09-01T20:36:07.940 回答
4

R 语言定义列出了所有 R 的关键字。请注意,这些也是保留的。

以下标识符具有特殊含义,不能用于对象名称

if else 重复 while 函数 for in next break TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2 等。

于 2013-09-01T20:40:26.093 回答
3

?Reserved,?Control或许?Syntax?Ops

于 2013-09-01T20:32:34.667 回答
2

请注意,这里讨论的内容与实际的 R 关键字无关,这是它自己的特殊之处。我怀疑这就是@HongOoi 所暗示的。
R 关键字的存在表面上是为了帮助按主题对函数进行分组,但除了 的特殊情况外internal,并未广泛使用。

如果您想查看有效关键字列表,可以这样获取

readLines(file.path(R.home("doc"), "KEYWORDS.db"))
于 2017-07-22T15:58:33.903 回答
1

尝试这个

ls('package:base')

列出包中的所有对象

于 2013-09-01T20:33:24.460 回答
1

您可能会转到 R 缓冲区并查看以下变量(假设您有Emacs Speaks Statistics):

ess-R-font-lock-keywords

通过使用C-h v ess-R-font-lock-keywords.

从那里开始,您可以查看 ess-custom.el 并找到实施所需的一切。

于 2013-09-01T20:40:29.200 回答
1

只要确保你真的想要这样做,因为 ?rcompgen描述了 Deepayan Sarkar 在 utils-package 中已经提供“tab-completion”的内置函数。

于 2013-09-01T23:14:06.973 回答