Q:= 与 <–的区别?

作者: Liam_ml | 来源:发表于2018-08-04 21:14 被阅读23次

    当您使用它们在函数调用中设置参数值时,赋值运算符的差异会更明显。例如:

    median(x=1:10)
    X
    ##错误:找不到对象'x'
    

    在这种情况下,x在函数范围内声明,因此它不存在于用户工作空间中。

    median(x < - 1:10)
    X
    ## [1] 1 2 3 4 5 6 7 8 9 10
    

    在这种情况下,x在用户工作区中声明,因此可以在函数调用完成后使用它。

    R社区普遍倾向于使用< - for assignment(功能签名除外)与(非常)旧版本的S-Plus兼容。

    X <-3
    #这是否意味着分配?
    x < - 3
    #小于等于
    x <-3
    

    大多数R IDE都有键盘快捷键,使< - 更容易输入。 Ctrl + = in Architect,Alt + - 在RStudio中(Option + - 在macOS下),Shift + - (下划线)在emacs + ESS中。

    如果你更喜欢写= < - 但是想对公开发布的代码使用更常见的赋值符号(例如在CRAN上),那么你可以使用formatR包中的一个tidy_ *函数来自动替换=和< - 。

    library(formatR)
    
    tidy_source(text =“x = 1:5”,arrow = TRUE)
    ## x < - 1:5
    

    问题的答案“为什么x < - y = 5会抛出错误而不是x < - y < - 5?”, R的语法包含许多模糊的情况,必须以某种方式解决。解析器选择以不同的顺序解析表达式的位,具体取决于是否使用了=或< - 。

    相关文章

      网友评论

        本文标题:Q:= 与 <–的区别?

        本文链接:https://www.haomeiwen.com/subject/ivtvvftx.html