“ =”和“ <-” [重复]之间存在技术差异

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

就在这里。这就是
\'=\'
的帮助页面所说的:   运算符<-和=分配给   他们所处的环境   评估。运算符<-可以使用   任何地方,而运算符=是   仅允许在最高级别(例如,   在键入的完整表达式中   命令提示符)或作为   括号列表中的子表达式   表达式。 使用“可以使用”,帮助文件意味着在此处分配对象。在函数调用中,您无法使用
=
分配对象,因为
=
意味着在那里分配参数。 基本上,如果您使用
<-
,则分配一个可以在当前环境中使用的变量。例如,考虑:
matrix(1,nrow=2)
这只是一个2行矩阵。现在考虑:
matrix(1,nrow<-2)
这也为您提供了两行矩阵,但是现在我们还有一个名为
nrow
的对象,其结果为2!发生的事情是,在第二次使用中,我们没有分配参数
nrow
2,而是分配了对象
nrow
2并将其发送给to9ѭ的第二个参数,而第二个参数恰好是nrow。 编辑: 至于编辑的问题。两者是相同的。
=
<-
的使用可能引起很多讨论,哪一个最好。许多风格指南都主张
<-
,但我也同意,但是一定要在
<-
作业周围保留空格,否则它们很难解释。如果您不使用空格(除了推特上应该使用空格),我更喜欢
=
,而不要使用
->
! 但实际上,只要选择一致,使用什么都无关紧要。在一行上使用
=
,在下一行使用
<-
会产生非常难看的代码。