The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Sequential Scripts


library(ptspotter)

Creating File Sequences

Use seq_file_ops() to quickly produce sequential scripts.

# old_wd <- setwd(tempdir())

# create a folder with some sequentially labelled scripts
seq_file_ops(n = 10, target_dir = "munge", filetype = "R")
#> seq_file_ops() created munge/ as it was not found.
#> New files created: munge/01-.R, munge/02-.R, munge/03-.R, munge/04-.R, munge/05-.R, munge/06-.R, munge/07-.R, munge/08-.R, munge/09-.R, munge/10-.R

# take a peek to confirm
list.files("munge")
#>  [1] "01-.R" "02-.R" "03-.R" "04-.R" "05-.R" "06-.R" "07-.R" "08-.R" "09-.R"
#> [10] "10-.R"

Adjusting File Sequences

During your work, as the program you are writing grows it may become necessary to separate code from one script into two or more. This could involve some laborious manual renumbering of the sequential scripts within the munge directory.

Instead, we can use adj_file_nos() to make room for our new script(s). In the following example, I will need to add just one more single script. I achieve this by leaving the step and action parameters as their default values. I need to insert the new script at “02-.R”.

adj_file_nos(target = 2, directory = "munge")
#> 10 Filenames adjusted.
#>  From: 01-.R, 02-.R, 03-.R, 04-.R, 05-.R, 06-.R, 07-.R, 08-.R, 09-.R, 10-.R 
#>  To: 01-.R, 03-.R, 04-.R, 05-.R, 06-.R, 07-.R, 08-.R, 09-.R, 10-.R, 11-.R

list.files("munge")
#>  [1] "01-.R" "03-.R" "04-.R" "05-.R" "06-.R" "07-.R" "08-.R" "09-.R" "10-.R"
#> [10] "11-.R"

Now I can create a new file at “02-.R” without needing to manually relabel anything.

file.create("munge/02-.R")
#> [1] TRUE

list.files("munge")
#>  [1] "01-.R" "02-.R" "03-.R" "04-.R" "05-.R" "06-.R" "07-.R" "08-.R" "09-.R"
#> [10] "10-.R" "11-.R"

Your customer has changed their mind about a feature, meaning all your hard work on scripts “06-.R” to “08-.R” are no longer required. Let’s delete those scripts.

rm_these <- c("06-.R", "07-.R", "08-.R")
file.remove(paste("munge", rm_these, sep = "/"))
#> [1] TRUE TRUE TRUE
list.files("munge")
#> [1] "01-.R" "02-.R" "03-.R" "04-.R" "05-.R" "09-.R" "10-.R" "11-.R"

Now there is a gap in the sequence. To fix this could involve more laborious relabelling. Instead, let’s use adj_file_nos() to correct the sequence.

adj_file_nos(target = 9, directory = "munge", action = "down", step = 3)
#> 8 Filenames adjusted.
#>  From: 01-.R, 02-.R, 03-.R, 04-.R, 05-.R, 09-.R, 10-.R, 11-.R 
#>  To: 01-.R, 02-.R, 03-.R, 04-.R, 05-.R, 06-.R, 07-.R, 08-.R
list.files("munge")
#> [1] "01-.R" "02-.R" "03-.R" "04-.R" "05-.R" "06-.R" "07-.R" "08-.R"

Much better!

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.