list.files和dir有什么区别?

时间:2017-03-22 18:18:50

标签: r

我尝试同时使用list.filesdir;两个命令都返回相同的输出。这两个命令之间的关键区别是什么?它们的用法是什么?

1 个答案:

答案 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..))

在两个函数中执行。