0
這基本上是this question的R等價物。粘貼混合列表並在字符串上保留引號
我有混合元素的列表:
l = list(-1, "quicksort", NULL)
而且我希望把它變成一個字符串:
string = '-1, "quicksort", NULL'
但我無法弄清楚如何輕鬆地保持引號內字符串沒有把所有元素放在引號中:
paste(l, collapse = ", ") # WRONG
# "-1, quicksort, NULL"
paste(shQuote(l), collapse = ", ") # WRONG
# '"-1", "quicksort", "NULL"'
我有一個解決方案,但它似乎笨拙:
paste(lapply(l, function(x) if(class(x) == "character") shQuote(x) else x),
collapse=", ")
# '-1, "quicksort", NULL'
是否有更簡單的(即,沒有if
聲明)解決方案?