, , , " ". , R- R-, (, ) . pryr::call_tree(), , .
, :
> 1 + 2 - 3 * 4 / 5
[1] 0.6
, R. ? -, , "":
> parse(text = "1 + 2 - 3 * 4 / 5")
expression(1 + 2 - 3 * 4 / 5)
:
> library("pryr")
> call_tree(parse(text = "1 + 2 - 3 * 4 / 5"))
\- ()
\- `-
\- ()
\- `+
\- 1
\- 2
\- ()
\- `/
\- ()
\- `*
\- 3
\- 4
\- 5
, "*"(), "/"(), "+"(), "-"(). , :
> "-"("+"(1,2), "/"("*"(3,4), 5))
[1] 0.6
> call_tree(parse(text = '"-"("+"(1,2), "/"("*"(3,4), 5))'))
\- ()
\- `-
\- ()
\- `+
\- 1
\- 2
\- ()
\- `/
\- ()
\- `*
\- 3
\- 4
\- 5
:
> parse(text = "1; 2; 3")
expression(1, 2, 3)
> parse(text = "1\n2\n3")
expression(1, 2, 3)
> call_tree(parse(text = "1; 2; 3"))
\- 1
\- 2
\- 3
.
, R read-eval-print , , , , ), , :
> call_tree(parse(text = "2 + 'A'"))
\- ()
\- `+
\- 2
\- "A"
, :
> parse(text = "2 + +")
Error in parse(text = "2 + +") : <text>:2:0: unexpected end of input
1: 2 + +
^
, , , .