代码之家  ›  专栏  ›  技术社区  ›  jogo

为什么'>'(12,b)会出错?

r
  •  8
  • jogo  · 技术社区  · 6 年前

    In R运算符也可以表示为函数调用,例如。

    '<-'(b, 12)
    

    对于 b <- 12 .
    为什么会出现以下错误:

    '->'(12, b)
    

    ? (代码 12 -> b 按预期工作。)

    1 回复  |  直到 6 年前
        1
  •  17
  •   Roland    6 年前

    因为运算符由解析器“转换”为函数,并且左赋值和右赋值都被解析为 <- 功能。没有右赋值函数。

    e <- quote(b <- 12)
    as.list(e)
    #[[1]]
    #`<-`
    #
    #[[2]]
    #b
    #
    #[[3]]
    #[1] 12
    
    e <- quote(12 -> b)
    as.list(e)
    #[[1]]
    #`<-`
    #
    #[[2]]
    #b
    #
    #[[3]]
    #[1] 12