octmode {base} | R Documentation |
Convert or print integers in octal format, with as many digits as are needed to display the largest, using leading zeroes as necessary.
as.octmode(x) ## S3 method for class 'octmode' as.character(x, ...) ## S3 method for class 'octmode' format(x, width = NULL, ...) ## S3 method for class 'octmode' print(x, ...)
x |
An object, for the methods inheriting from class |
width |
|
... |
further arguments passed to or from other methods. |
Class "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 methods for |
and
&
:
these recycle their arguments to the length of the longer and then
apply the operators bitwise to each element.
These are auxiliary functions for 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