当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R aspell 拼写检查接口


R语言 aspell 位于 utils 包(package)。

说明

通过 Aspell、Hunspell 或 Ispell 对给定文件进行拼写检查。

用法

aspell(files, filter, control = list(), encoding = "unknown",
       program = NULL, dictionaries = character())

参数

files

包含要检查的文件名称的字符向量。

filter

用于在拼写检查之前处理文件的可选过滤器,以函数形式给出(使用形式 ifileencoding ),或指定内置过滤器的字符串,或具有内置过滤器名称的列表过滤器和要传递给它的附加参数。请参阅可用过滤器的详细信息。如果缺少或NULL,则不执行过滤。

control

拼写检查器的控制选项的列表或字符向量。

encoding

文件的编码。根据需要回收。

program

给出要使用的拼写检查程序的名称(如果在系统路径上)或完整路径的字符串,或NULL(默认)。默认情况下,系统路径会搜索 aspellhunspellispell (按顺序),并使用找到的第一个。

dictionaries

要使用的其他 R 级别字典的名称或文件路径的字符向量。没有路径分隔符的元素指定 R 系统字典(在子目录‘分享/字典R 主目录的’)。文件扩展名(目前只有‘.rds’)可以省略。

细节

使用的拼写检查程序必须支持通过命令行选项激活的所谓 Ispell 管道接口-A。除了程序之外,还需要提供合适的词典。看http://aspell.net,https://hunspell.github.io/https://www.cs.hmc.edu/~geoff/ispell.html,分别用于获取 Aspell、Hunspell 和(国际)Ispell 程序和词典。

在 Windows 上,Aspell 可通过 MSYS2 获得。应使用非 Cygwin 版本,例如包mingw-w64-x86_64-aspell。针对 Cygwin 运行时(包 aspell )构建的版本需要文件和 Unix-style 路径中的 Unix 行结尾,这与 aspell() 不兼容。

目前可用的内置过滤器有"Rd"(对应RdTextFilter)、"Sweave"(对应SweaveTeXFilter)、"R""pot""dcf""md"

过滤器 "R" 用于 R 代码,并在调用 messagewarningstoppackageStartupMessagegettextgettextfngettext (未命名)中提取消息字符串常量。字符串常量对于前五个,fmtmsg1 /msg2 字符串常量分别用于后两个)。

筛选"pot"用于消息字符串目录‘。锅’文件。双方都有争议ignore允许为要忽略拼写检查的消息字符串部分提供正则表达式:例如,使用"[ \t]'[^']*'[ \t[:punct:]]"忽略单引号内的所有文本。

筛选"dcf"适用于 Debian 控制文件格式的文件。要保留的字段可以通过参数控制keep(带有相应字段名称的字符向量)。默认情况下, '⁠标题⁠' 和 '⁠说明⁠' 字段被保留。

筛选"md"用于文件降价格式 ('.md' 和 '.Rmd’文件),并且需要包commonmarkxml2可用。

aspell 返回的对象的 print 方法有一个 indent 参数,控制可能拼写错误的单词位置的缩进。默认为2; Emacs 用户可能会发现使用缩进 0 并访问 grep-mode 中的输出很有用。它还具有 verbose 参数:当该参数为 true 时,还会显示替换建议。

可以使用额外的 R 级字典。目前,这些文件的扩展名为“.rds’通过使用序列化单词列表的字符向量获得saveRDS。如果使用这样的词典,它们会被组合成一个单词列表文件,然后用作拼写检查器的个人词典(选项-p):因此,在这种情况下不使用默认的个人词典。

继承自aspell(具有有用的打印方法)的 DataFrame ,其中包含有关可能拼写错误的单词的信息。

例子

## Not run: 
## To check all Rd files in a directory, (additionally) skipping the
## \references sections.
files <- Sys.glob("*.Rd")
aspell(files, filter = list("Rd", drop = "\\references"))

## To check all Sweave files
files <- Sys.glob(c("*.Rnw", "*.Snw", "*.rnw", "*.snw"))
aspell(files, filter = "Sweave", control = "-t")

## To check all Texinfo files (Aspell only)
files <- Sys.glob("*.texi")
aspell(files, control = "--mode=texinfo")

## End(Not run)

## List the available R system dictionaries.
Sys.glob(file.path(R.home("share"), "dictionaries", "*.rds"))

参考

Kurt Hornik and Duncan Murdoch (2011). “Watch your spelling!” The R Journal, 3(2), 22-28. doi:10.32614/RJ-2011-014.

也可以看看

aspell-utils 用于拼写检查包的实用程序。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Spell Check Interface。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。