
Last chance! 50% off unlimited learning
Sale ends in
as.octmode(x)
"as.character"(x, ...)
"format"(x, width = NULL, ...)
"print"(x, ...)
"octmode"
.NULL
or a positive integer specifying the minimum
field width to be used, with padding by leading zeroes."octmode"
consists of integer vectors with that class
attribute, used merely to ensure that they are printed in octal
notation, specifically for Unix-like file permissions such as
755
. Subsetting ([
) works too. If width = NULL
(the default), the output is padded with
leading zeroes to the smallest width needed for all the non-missing
elements.
as.octmode
can convert integers (of type "integer"
or
"double"
) and character vectors whose elements contain only
digits 0-7
(or are NA
) to class "octmode"
.
There is a !
method and |
, &
and
xor
methods: these recycle their arguments to the
length of the longer and then apply the operators bitwise to each
element.
file.info
. hexmode
, sprintf
for other options in
converting integers to octal, strtoi
to convert octal
strings to integers.
(on <- as.octmode(c(16, 32, 127:129))) # "020" "040" "177" "200" "201"
unclass(on[3:4]) # subsetting
## manipulate file modes
fmode <- as.octmode("170")
(fmode | "644") & "755"
umask <- Sys.umask(NA) # depends on platform
c(fmode, "666", "755") & !umask
Run the code above in your browser using DataLab