I think I understand the user-friendliness motivation behind partial matching in #RStats, but this is kinda messed up:
x <- list(val_exists = FALSE)
x$val <- x$val %||% 1
x$val
#> [1] FALSE
x <- list(val_exists = FALSE)
x$val <- x[["val"]] %||% 1
x$val
#> [1] 1
x <- list(val_exists = FALSE)
x$val <- x$val %||% 1
x$val
#> [1] FALSE
x <- list(val_exists = FALSE)
x$val <- x[["val"]] %||% 1
x$val
#> [1] 1
Comments
(\w+\$\w+)\s*<-\s*\1\s*%\|\|%
Or if you sometimes use = for assignment, I think this will work:
(\w+\$\w+)\s*(<-|=)\s*\1\s*%\|\|%