Разбор оператора «->» в R
Мой вопрос о синтаксическом анализе выражений на языке R. Позвольте мне перейти прямо к примеру:
fun_text <- c("
0 -> var
f1 <- function()
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
}
(function()
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
})->f2
f3 = function(x)
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
}
")
fun_tree <- parse(text=fun_text)
fun_tree
fun_tree[[1]]
fun_tree[[2]]
fun_tree[[3]]
fun_tree[[4]]
После этого мы получаем такие результаты:
expression(0 -> var, f1 <- function()
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
}, (function()
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
})->f2, f3 = function(x)
{
0 -> sum_var
sum_var2 = 0
sum_var3 <- 0
})
а также
var <- 0
а также
f1 <- function() {
sum_var <- 0
sum_var2 = 0
sum_var3 <- 0
}
а также
f2 <- (function() {
sum_var <- 0
sum_var2 = 0
sum_var3 <- 0
})
а также
f3 = function(x) {
sum_var <- 0
sum_var2 = 0
sum_var3 <- 0
}
Как видите, все операторы присваивания "->" заменены на "<-", но не в первом примере (только для "fun_tree"). Мой вопрос: почему это так? и могу ли я быть уверен, что всегда получаю оператор «<-» в синтаксическом дереве, чтобы не беспокоить себя при реализации «->»?