使用 RStudio 中的列表自动完成代码
Code autocompletion with lists in RStudio
鉴于以下列表,我是否需要在更简洁的代码或自动完成之间做出选择,或者我可以两者兼而有之吗?我在 MacOS 10.10.5 上使用最新版本的 RStudio。
> l <- list()
> l$`__a` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__b` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__c` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
自动完成,但带有反引号(不太干净且更难以以编程方式操作):
> l$`__a`
__ID col
1 i u
2 4 V
3 b Y
4 j B
5 k d
6 Z Q
7 T H
8 f A
9 j Y
10 k P
使用 [
运算符和字符串(更简洁,更易于编程操作,但没有自动完成功能):
> l[["__a"]]
__ID col
1 i u
2 4 V
3 b Y
4 j B
5 k d
6 Z Q
7 T H
8 f A
9 j Y
10 k P
或者还有第三种可能,比如先把所有的代码都写成反引号,然后想办法自动用[[
和]]
替换它们?
幸运的是,可以同时拥有自动完成和格式良好的代码。在 RStudio 中,自动完成适用于 $
和 [[
,但功能略有不同。
对于 $
的索引,输入 $
后会立即触发自动完成列表。
但是,对于 [[
,需要在显示自动完成列表之前按 tab
。这与 $
.
一样在多个层次上起作用
上面 @docendo discimus
的评论对找到这个答案很有帮助。
鉴于以下列表,我是否需要在更简洁的代码或自动完成之间做出选择,或者我可以两者兼而有之吗?我在 MacOS 10.10.5 上使用最新版本的 RStudio。
> l <- list()
> l$`__a` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__b` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__c` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
自动完成,但带有反引号(不太干净且更难以以编程方式操作):
> l$`__a`
__ID col
1 i u
2 4 V
3 b Y
4 j B
5 k d
6 Z Q
7 T H
8 f A
9 j Y
10 k P
使用 [
运算符和字符串(更简洁,更易于编程操作,但没有自动完成功能):
> l[["__a"]]
__ID col
1 i u
2 4 V
3 b Y
4 j B
5 k d
6 Z Q
7 T H
8 f A
9 j Y
10 k P
或者还有第三种可能,比如先把所有的代码都写成反引号,然后想办法自动用[[
和]]
替换它们?
幸运的是,可以同时拥有自动完成和格式良好的代码。在 RStudio 中,自动完成适用于 $
和 [[
,但功能略有不同。
对于 $
的索引,输入 $
后会立即触发自动完成列表。
但是,对于 [[
,需要在显示自动完成列表之前按 tab
。这与 $
.
上面 @docendo discimus
的评论对找到这个答案很有帮助。