| 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 |, & and
xor methods: 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