x $ name不等于x [[“ name”,确切= FALSE]],为什么不呢?

时间:2019-01-22 06:42:02

标签: r

R文档(提取{base},提取或替换对象的一部分)指出

  

x $ name等效于x [[“ name”,确切= FALSE]]

但是

> s <- c(a = 1, b = 2, c = 3)
> s$a
Error in s$a : $ operator is invalid for atomic vectors
> s[["a"]]
[1] 1
> s[["a", exact = FALSE]]
[1] 1

为什么会这样?

1 个答案:

答案 0 :(得分:3)

让我从同一文档页面的引用开始:

  

import { Given, Then, When } from "cucumber"; // if using async/await When(/^enter the date "(.*)"$/, async(date) => { var util = require('util'); var xpath = '/table[@class="mat-calendar-table"]/tbody/tr/td[@aria-label="%s"]' return await element(by.xpath(util.format(xpath, date))).sendKeys(date); }); // not using async await When(/^enter the date "(.*)"$/, (date) => { var util = require('util'); var xpath = '/table[@class="mat-calendar-table"]/tbody/tr/td[@aria-label="%s"]' return element(by.xpath(util.format(xpath, date))).sendKeys(date); }); 仅对递归对象有效,并且仅在   递归对象。

递归对象是可以包含相同类型的对象(例如列表或表达式)的对象。

您已将问题中的引号与上下文无关。它在“递归(类列表)对象”部分中,而不在“原子向量”部分中。您正在设置一个原子向量。

这是一个更正后的示例,还说明了$的作用:

exact = FALSE