# #——回声= FALSE -------------------------------------------------------------- 美元knitr: opts_chunk集(错误= FALSE,消息= FALSE,警告= FALSE)图书馆(BiocStyle ) ## ----------------------------------------------------------------------------- 缓存。Path <- tempfile(pattern="expired_demo") dir.create(cache.path) version <- package_version("1.0.0") version. Path <- tempfile(pattern="expired_demo") dir.create(cache.path)Dir <- file.path(cache. path)dir.create (version.dir路径、版本) ) ## ----------------------------------------------------------------------------- 的版本。dir ## ----------------------------------------------------------------------------- 库(dir.expiry) touchDirectory (version.dir ) ## ----------------------------------------------------------------------------- list.files (cache.path)猫(readline (file.path(缓存。路径,“1.0.0_dir.expiry”)),9 = " \ n ") ## ----------------------------------------------------------------------------- v < - package_version(“1.0.0)v.dir < - file.path(缓存。在函数上下文中,v) lock <- lockDirectory(v.dir) # on.exit(unlockDirectory(lock))。#使用版本化缓存“v.dir”在这里…dir.create (v。最后,在成功完成时触摸目录。touchDirectory (v.dir ) ## ----------------------------------------------------------------------------- unlockDirectory(锁 ) ## ----------------------------------------------------------------------------- 缓存。路径<- tempfile(pattern="expired_demo") old。Version <- package_version("0.99.0") old.version.dir <- file.path(cache. path)path, old.version) lck <- lockDirectory(old.version.dir) dir.create(old.version.dir) touchDirectory(old.version. dir)dir,日期= Sys.Date () - 100) unlockDirectory (lck、清晰= FALSE) list.files (cache.path ) ## ----------------------------------------------------------------------------- 新的。Version <- package_version("1.0.0") new.version.dir <- file.path(cache. path)path, new.version) lck <- lockDirectory(new.version.dir) dir.create(new.version.dir) touchDirectory(new.version.dir) unlockDirectory(lck) list.files(cache.path) ## ----------------------------------------------------------------------------- new.version2 <- package_version("1.0.1") new.version.dir2 <- file.path(cache.path, new.version2) # Newer version but earlier access. lck2 <- lockDirectory(new.version.dir2) dir.create(new.version.dir2) touchDirectory(new.version.dir2, date=Sys.Date() - 100) unlockDirectory(lck2) # Re-accessing the older version. lck <- lockDirectory(new.version.dir) touchDirectory(new.version.dir) unlockDirectory(lck) list.files(cache.path) ## ----------------------------------------------------------------------------- sessionInfo()