Dear all, thank your time for help the below problem.
The rlang::qq_show show the rigth code tibble::tibble(a = character(0), b = integer(), c = double()), but the exctution does not returen right variable names but right type.
For first variable, the right name should be a not a = character(0)
var <- c("a = character(0)", "b = integer()", "c = double()")
rlang::qq_show(tibble::tibble(!!!rlang::parse_exprs(var)))
#> tibble::tibble(a = character(0), b = integer(), c = double())
tibble::tibble(a = character(0), b = integer(), c = double())
#> # A tibble: 0 × 3
#> # ℹ 3 variables: a <chr>, b <int>, c <dbl>
df <- tibble::tibble(!!!rlang::parse_exprs(var))
df
#> # A tibble: 0 × 3
#> # ℹ 3 variables: a = character(0) <chr>, b = integer() <int>,
#> # c = double() <dbl>
I had got the explanation from rlang developer. see #1640
exprs <- c(a = "character(0)", b = "integer()", c = "double()")
tibble::tibble(!!!rlang::parse_exprs(exprs))
#> # A tibble: 0 × 3
#> # ℹ 3 variables: a <chr>, b <int>, c <dbl>
exprs <- list(a = quote(character(0)), b = quote(integer()), c = quote(double()))
tibble::tibble(!!!exprs)
#> # A tibble: 0 × 3
#> # ℹ 3 variables: a <chr>, b <int>, c <dbl>