81 lines
1.7 KiB
R
81 lines
1.7 KiB
R
library(xfun)
|
|
|
|
library(xfun)
|
|
(z = strict_list(aaa = "I am aaa", b = 1:5))
|
|
z$a # NULL (strict matching)
|
|
z$aaa # I am aaa
|
|
z$b
|
|
z$c = "you can create a new element"
|
|
|
|
z2 = unclass(z) # a normal list
|
|
z2$a # partial matching
|
|
|
|
z3 = as_strict_list(z2) # a strict list again
|
|
z3$a # NULL (strict matching) again!
|
|
|
|
library(xfun)
|
|
raw_string(head(LETTERS))
|
|
(x = c("a \"b\"", "hello\tworld!"))
|
|
raw_string(x) # this is more likely to be what you want to see
|
|
|
|
f = system.file("LICENSE", package = "xfun")
|
|
xfun::file_string(f)
|
|
as.character(xfun::file_string(f)) # essentially a character string
|
|
|
|
f = system.file("LICENSE", package = "xfun")
|
|
xfun::base64_uri(f)
|
|
|
|
xfun::grep_sub('a([b]+)c', 'a\\U\\1c', c('abc', 'abbbc', 'addc', '123'), perl = TRUE)
|
|
|
|
library(xfun)
|
|
f = tempfile()
|
|
writeLines(c("hello", "world"), f)
|
|
gsub_file(f, "world", "woRld", fixed = TRUE)
|
|
file_string(f)
|
|
|
|
process_file(f, function(x) {
|
|
rep(x, 3) # repeat the content 3 times
|
|
})
|
|
file_string(f)
|
|
|
|
library(xfun)
|
|
p = c("abc.doc", "def123.tex", "path/to/foo.Rmd")
|
|
file_ext(p)
|
|
sans_ext(p)
|
|
with_ext(p, ".txt")
|
|
with_ext(p, c(".ppt", ".sty", ".Rnw"))
|
|
with_ext(p, "html")
|
|
|
|
xfun::is_macos()
|
|
xfun::is_unix()
|
|
xfun::is_linux()
|
|
xfun::is_windows()
|
|
|
|
library(testit)
|
|
library(parallel)
|
|
library(tinytex)
|
|
library(mime)
|
|
|
|
xfun::pkg_attach(c('testit', 'parallel', 'tinytex', 'mime'))
|
|
|
|
if (!requireNamespace('tinytex')) install.packages('tinytex')
|
|
library(tinytex)
|
|
|
|
xfun::pkg_attach2('tinytex')
|
|
|
|
n2w(0, cap = TRUE)
|
|
n2w(seq(0, 121, 11), and = TRUE)
|
|
n2w(1e+06)
|
|
n2w(1e+11 + 12345678)
|
|
n2w(-987654321)
|
|
n2w(1e+15 - 1)
|
|
|
|
res = xfun::cache_rds({
|
|
# pretend the computing here is a time-consuming
|
|
Sys.sleep(2)
|
|
1:10
|
|
})
|
|
|
|
xfun::session_info(c('xfun', 'litedown', 'tinytex'), dependencies = FALSE)
|
|
|