マニュアルには次のように記載されています。
演算子'<-'はどこでも使用できますが、演算子'='は、最上位レベル(たとえば、コマンドプロンプトで入力された完全な式)でのみ、または式のブレースリストの部分式の1つとしてのみ使用できます。 。
ここでの質問は、関数呼び出しで使用した場合の違いに言及しています。しかし、関数定義では、正常に機能しているようです。
a = function ()
{
b = 2
x <- 3
y <<- 4
}
a()
# (b and x are undefined here)
では、なぜマニュアルにそれが記載されているのですthe operator ‘=’ is only allowed at the top level
か?
言語定義にはそれについて何もありません(=
演算子がリストされていない、なんて残念です!)