x <- list(a=1, b = NA, c = character(0))
# ------------------------ Basic usage ------------------------
# no key, returns x if x is valid
get_val2(x)
get_val2(x, 'a', default = 'invalid')
# get 'b', NA is not filtered out
get_val2(x, 'b', default = 'invalid')
# get 'b', NA is considered invalid
get_val2(x, 'b', default = 'invalid', na = TRUE)
# get 'c', length 0 is allowed
get_val2(x, 'c', default = 'invalid', min_len = 0)
# length 0 is forbidden
get_val2(x, 'c', default = 'invalid', min_len = 1)
Run the code above in your browser using DataLab