是否可以列出可以为包设置的所有全局选项?
Is it possible to list all the global options that can be set for a package?
从tibble的小插图中,我了解到可以通过options
在全局选项中进行一些更改来控制打印的外观。但是,我在 R 中找不到有关此选项的任何手册。我什至不知道可以将哪些字段添加到包的全局选项中。所以问题是:
对于一个包,我们可以得到一个字段列表(比如 tibble.print_max
,tibble
的 tibble.print_min
和 utils
的 BioC_mirror
)在知道它们之前通过 options
在 R 中设置?
可设置选项的处理方式由包作者自行决定(是否将它们包含在 .Options
中,是否隐藏它们等)。看起来 tibble 包有一个隐藏变量 op.tibble
,它显示了可用的选项。
tibble:::op.tibble
# $tibble.print_max
# [1] 20
#
# $tibble.print_min
# [1] 10
#
# $tibble.width
# NULL
#
# $tibble.max_extra_cols
# [1] 100
所以下面会给出包中可用选项的名称。
names(tibble:::op.tibble)
# [1] "tibble.print_max" "tibble.print_min"
# [3] "tibble.width" "tibble.max_extra_cols"
请注意,我通过
找到 op.tibble
grep("op", ls(getNamespace("tibble"), all=TRUE), value=TRUE)
# [1] "op.tibble" "stopc" "tibble_opt"
然后分别查看这些项目。也许其他作者可能会做类似的事情。但是没有定义包中选项的通用规则。
鉴于缺乏如何处理外部(甚至内部,据我所知)包中的选项所需的实践(例如,在 CRAN 上),也许最通用的方法是这样的:
在 CRAN mirror on GitHub. For example, here's tibble
上找到包裹。
在存储库中搜索 "option" 以查找 all references to "option" in the package's code。
通过这个搜索。知道要寻找什么需要一些敏锐的眼光,但我就是这样了解到 tibble
的所有选项都列在主包帮助页面 (?"tibble-package"
) 上,因为我通过搜索找到 these lines。
如果您将存储库克隆到您的计算机并使用命令行工具,则第 3 步可以更好地自动化,例如
cd package_dir
grep option R/*
(这与上面的非常相似,但具有 grep
的全部灵活性)
只是为了进一步确认,这种方法也让我找到了 data.table
and xtable
的正确位置。
从tibble的小插图中,我了解到可以通过options
在全局选项中进行一些更改来控制打印的外观。但是,我在 R 中找不到有关此选项的任何手册。我什至不知道可以将哪些字段添加到包的全局选项中。所以问题是:
对于一个包,我们可以得到一个字段列表(比如 tibble.print_max
,tibble
的 tibble.print_min
和 utils
的 BioC_mirror
)在知道它们之前通过 options
在 R 中设置?
可设置选项的处理方式由包作者自行决定(是否将它们包含在 .Options
中,是否隐藏它们等)。看起来 tibble 包有一个隐藏变量 op.tibble
,它显示了可用的选项。
tibble:::op.tibble
# $tibble.print_max
# [1] 20
#
# $tibble.print_min
# [1] 10
#
# $tibble.width
# NULL
#
# $tibble.max_extra_cols
# [1] 100
所以下面会给出包中可用选项的名称。
names(tibble:::op.tibble)
# [1] "tibble.print_max" "tibble.print_min"
# [3] "tibble.width" "tibble.max_extra_cols"
请注意,我通过
找到op.tibble
grep("op", ls(getNamespace("tibble"), all=TRUE), value=TRUE)
# [1] "op.tibble" "stopc" "tibble_opt"
然后分别查看这些项目。也许其他作者可能会做类似的事情。但是没有定义包中选项的通用规则。
鉴于缺乏如何处理外部(甚至内部,据我所知)包中的选项所需的实践(例如,在 CRAN 上),也许最通用的方法是这样的:
在 CRAN mirror on GitHub. For example, here's
tibble
上找到包裹。在存储库中搜索 "option" 以查找 all references to "option" in the package's code。
通过这个搜索。知道要寻找什么需要一些敏锐的眼光,但我就是这样了解到
tibble
的所有选项都列在主包帮助页面 (?"tibble-package"
) 上,因为我通过搜索找到 these lines。
如果您将存储库克隆到您的计算机并使用命令行工具,则第 3 步可以更好地自动化,例如
cd package_dir
grep option R/*
(这与上面的非常相似,但具有 grep
的全部灵活性)
只是为了进一步确认,这种方法也让我找到了 data.table
and xtable
的正确位置。