gpt4 book ai didi

R:您如何称呼::和::: 运算符?它们有何不同?

转载 作者:行者123 更新时间:2023-12-04 11:52:39 24 4
gpt4 key购买 nike

我想知道::的功能如何和 ::: R 中的运算符不同。

但是,我无法弄清楚这些运算符的名称,因此 google 或 SO 搜索并没有证明有帮助。我在尝试 ?:: 时也遇到错误在 R。

所以...

  • 什么是:::::运营商叫?
  • 怎么办:::::不同? (即,每个人究竟做了什么)?
  • 最佳答案

    事实证明,有一种独特的方法可以访问运算符(例如这些冒号)的帮助信息:在运算符周围添加引号。 [例如,?'::'help(":::") ]。

  • 此外,除了引号,反引号(即 ` )也可以使用。


  • 双冒号运算符和三冒号运算符

    问题的答案可以在 的帮助页面上找到。 “双冒号和三重冒号运算符” (见 here)。

    For a package pkg, pkg::name returns the value of the exported variable name in namespace pkg, whereas pkg:::name returns the value of the internal variable name. The package namespace will be loaded if it was not loaded before the call, but the package will not be attached to the search path.



    通过检查每个代码可以看出差异:
    > `::`
    function (pkg, name)
    {
    pkg <- as.character(substitute(pkg))
    name <- as.character(substitute(name))
    getExportedValue(pkg, name)
    }
    <bytecode: 0x00000000136e2ae8>
    <environment: namespace:base>

    > `:::`
    function (pkg, name)
    {
    pkg <- as.character(substitute(pkg))
    name <- as.character(substitute(name))
    get(name, envir = asNamespace(pkg), inherits = FALSE)
    }
    <bytecode: 0x0000000013482f50>
    <environment: namespace:base>

    ::电话 getExportedValue(pkg, name) , 返回导出变量的值 name 在包的命名空间中。

    ::: 电话 get(name, envir = asNamespace(pkg), inherits = FALSE) , 搜索对象 name在包的命名空间环境中,以及 返回内部变量的值 name .

    那么,究竟什么是命名空间?

    site很好地解释了 R 中命名空间的概念。重要的是:

    As the name suggests, namespaces provide “spaces” for “names”. They provide a context for looking up the value of an object associated with a name.

    关于R:您如何称呼::和::: 运算符?它们有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41582136/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com