contrast=list("1"="profit")
input=readline("please input")
please input1
input
[1] "1"
class(input)
[1] "character"
contrast[[input]]
[1] "profit"
contrast$"1"
[1] "profit"
contrast$input
NULL为什么contrast$input不等于contrast$"1"
输入的值是"1",类也是字符。
eval(input)
[1] "1"
contrast$(eval(input))
Error: unexpected '(' in "contrast$("
contrast$eval(input)
Error: attempt to apply non-function
eval(paste(input))
[1] "1"
class(eval(paste(input)))
[1] "character"
contrast$eval(paste(input))
Error: attempt to apply non-function
contrast$(eval(paste(input)))
Error: unexpected '(' in "contrast$("没有办法通过对比$输入来获得值吗?
发布于 2012-09-25 00:41:08
这是不可能的来自文档(?Extract):
两者都是[[和$选择列表中的单个元素。主要区别是$不允许计算索引,而[确实. x$name等于x["name",精确=FALSE]]。
一般来说,$是用于交互使用的,但用于编程(脚本、函数等)。您应该使用[[。
https://stackoverflow.com/questions/12574509
复制相似问题