memofunc (version 1.0.2)

storage.init: Initialize a store.

Description

Initlaize storage for name value pairs based on provided type.

Available types of storage include:

  • memory - transient in-memory storage

  • file - persistent storage, using local file storage

Additional paramters may be provided when initializing different types of storage.

See specific storage types for details.

Usage

storage.init(storage.type = "memory", ...)

Arguments

storage.type

storage type to initialize, defaults to memory

...

additional configuration values used by storage implementations

Value

List containing characteristics perticular to the storage implementation, including:

  • $type - the storage type

Examples

Run this code
# NOT RUN {
library(magrittr)

# initialize default memory storage
my.storage <- storage.init()

# set a value into storage
storage.set(my.storage, "name", "Roy Wetherall")

# .. and some more
my.storage %>% 
  storage.set("age", 45) %>% 
  storage.set("alive", TRUE) %>%
  storage.set("children", c("Peter", "Grace", "Lucy"))

# check a key has been set
if (storage.has(my.storage, "name")) print("I know your name!")

# .. and that a key hasn't been set
if (!storage.has(my.storage, "address")) print("I don't know where you live!")

# get some values from storage
sprintf(
  "%s is %i years old.", 
  storage.get(my.storage, "name"),
  storage.get(my.storage, "age"))

# remove a value from storage
storage.unset(my.storage, "children")

# .. and show it's not there anymore
if (!storage.has(my.storage, "address")) print("I don't know who your children are!")

# clear all values from storage
storage.clear(my.storage)

# .. and everything is gone
if (!storage.has(my.storage, "name") && !storage.has(my.storage, "age")) print("I know nothing!")
# }

Run the code above in your browser using DataCamp Workspace