我尝试同时使用list.files
和dir
;两个命令都返回相同的输出。这两个命令之间的关键区别是什么?它们的用法是什么?
答案 0 :(得分:8)
它们在相同的参数中是相同的,这些参数具有相同的默认值,并且它们使用相同的.Internal
函数来执行。
正如@RichScriven在评论中指出的那样,可以使用identical
运行一个紧凑而准确的测试:
identical(list.files, dir)
[1] TRUE
我们也可以查看他们的源代码。
dir
function (path = ".", pattern = NULL, all.files = FALSE, full.names = FALSE,
recursive = FALSE, ignore.case = FALSE, include.dirs = FALSE,
no.. = FALSE)
.Internal(list.files(path, pattern, all.files, full.names, recursive,
ignore.case, include.dirs, no..))
<bytecode: 0x000000000fe1c388>
<environment: namespace:base>
和
list.files
function (path = ".", pattern = NULL, all.files = FALSE, full.names = FALSE,
recursive = FALSE, ignore.case = FALSE, include.dirs = FALSE,
no.. = FALSE)
.Internal(list.files(path, pattern, all.files, full.names, recursive,
ignore.case, include.dirs, no..))
<bytecode: 0x0000000008811280>
<environment: namespace:base>
请注意
.Internal(list.files(path, pattern, all.files, full.names, recursive,
ignore.case, include.dirs, no..))
在两个函数中执行。