R言語で割り当てがどのように機能するのか疑問に思っています。
次のRシェルセッションについて考えてみます。
> x <- c(5, 6, 7)
> x[1] <- 10
> x
[1] 10 6 7
>
私は完全に理解しています。ベクトル(5、6、7)が作成され、シンボル「x」にバインドされます。後で、ベクトルは不変のデータ構造であるため、「x」は新しいベクトル(10、6、7)にリバウンドされます。
しかし、ここで何が起こるか:
> c(4, 5, 6)[1] <- 10
Error in c(4, 5, 6)[1] <- 10 :
target of assignment expands to non-language object
>
またはここ:
> f <- function() c(4, 5, 6)
> f()[1] <- 10
Error in f()[1] <- 10 : invalid (NULL) left side of assignment
>
名前付きデータ構造(「x」など)にのみ値を割り当てることができるように思われます。
私が尋ねている理由は、私がR言語コアを実装しようとしていて、そのような割り当てをどのように処理するかわからないためです。
前もって感謝します