path
.var files = "/etc".to_path.files
assert files.has("/etc/issue".to_path)
last_error
is updated to contains the error information on error, and null on success.
In case of error, the result might be empty or truncated.
var path = "/etc/issue".to_path
files = path.files
assert files.is_empty
assert path.last_error != null
# Lists the files contained within the directory at `path`.
#
# var files = "/etc".to_path.files
# assert files.has("/etc/issue".to_path)
#
# `last_error` is updated to contains the error information on error, and null on success.
# In case of error, the result might be empty or truncated.
#
# var path = "/etc/issue".to_path
# files = path.files
# assert files.is_empty
# assert path.last_error != null
fun files: Array[Path]
do
last_error = null
var res = new Array[Path]
var d = new NativeDir.opendir(path.to_cstring)
if d.address_is_null then
last_error = new IOError("Cannot list directory `{path}`: {sys.errno.strerror}")
return res
end
loop
var de = d.readdir
if de.address_is_null then
# readdir cannot fail, so null means end of list
break
end
var name = de.to_s
if name == "." or name == ".." then continue
res.add self / name
end
d.closedir
return res
end
lib/core/file.nit:660,2--695,4