首页 > 解决方案 > 为什么 R 中有两个赋值运算符,`<-` 和 `->`?

问题描述

我知道如何使用<-and ->,并且有几篇 关于 赋值和箭头赋值之间区别的文章equals,但我不知道什么时候更->喜欢<-

似乎社区已经围绕使用<-分配。

google R style-guide和 Hadley Wickam 的tidyverse R style-guide都没有在作业部分提到->

我很好奇导致 S/S-PLUS 开发人员放入右箭头 assign operator 的设计考虑因素->。与or相比,在哪些设置中使用->被认为更具可读性(或更容易输入)?<-=

我不熟悉任何其他允许正确分配语义的语言。哪些语言在这方面启发了 R?

我正在寻找引用书籍/早期设计文档/用户手册/存档邮件列表或其他参考资料的答案,以确定 S 作者/设计师在使用前向箭头分配运算符时的意图。

标签: rlanguage-designs

解决方案


从新 S 语言练习的答案(Becker、Chambers 和 Wilks 1988),通过 Google 图书:

当您键入一个长表达式只是为了记住最后保存结果是一个好主意时,向右箭头允许您执行分配而无需重新键入该行。

这表明 S 用户直接在控制台中工作,没有大多数现代REPL /交互式环境中可用的行编辑功能......


一些考古学:我在谷歌图书的基础资料中四处寻找。相关书籍有三本:

  • 褐皮书:S:数据分析和图形的交互式环境RA Becker,JM Chambers(CRC 出版社,1984 年)
  • 扩展 S 系统,Becker 和 Chambers (Taylor & Francis, 1985)
  • 蓝皮书:新 S 语言Becker、Chambers 和 Wilks(Wadsworth 和 Brooks/Cole 1988,但在 2018 年重新发行!!由 CRC Press)

    1. ->棕皮书在正文中没有提到:

在此处输入图像描述

但它在附录中:

在此处输入图像描述

  1. ->正文中提到的扩展 S 系统:

在此处输入图像描述

我不能搜索很多书,所以->也可能在附录中的某个地方提到。

  1. 蓝皮书指的是右箭头,但实际上似乎有一个错字:

在此处输入图像描述

我将带下划线的红色段落解释为支持第一条带下划线的行中有错字,应该是->而不是← ...

这是上面提到的练习答案的屏幕截图:

在此处输入图像描述

如果您想要一本 1985 年的书,您可以以 34.41 美元或 1070.99 美元的价格购买(但免运费!)...

在此处输入图像描述


推荐阅读