Message-ID: <CABcYAdKVMuvyg8ss8PTqDaGP4Pt6kmdfTYFnLgfLhQhF7dst_Q@mail.gmail.com>
Date: 2023-01-11T03:01:03Z
From: Richard O'Keefe
Subject: return value of {....}
In-Reply-To: <PU4P216MB15683AFF29648D6DD2470B8DC8FE9@PU4P216MB1568.KORP216.PROD.OUTLOOK.COM>
I am more than a little puzzled by your question.
In the construct {expr1; expr2; expr3} all of the
expressions expr1, expr2, and expr3 are evaluated,
in that order. That's what curly braces are FOR.
When you want some expressions evaluated in a
specific order, that's why and when you use curly
braces. If that's not what you want, don't use them.
Complaining about it is like complaining that + adds.
On Tue, 10 Jan 2023 at 03:47, akshay kulkarni <akshay_e4 at hotmail.com> wrote:
> Dear members,
> I have the following code:
>
> > TB <- {x <- 3;y <- 5}
> > TB
> [1] 5
>
> It is consistent with the documentation: For {, the result of the last
> expression evaluated. This has the visibility of the last evaluation.
>
> But both x AND y are created, but the "return value" is y. How can this be
> advantageous for solving practical problems? Specifically, consider the
> following code:
>
> F <- function(X) { expr; expr2; { expr5; expr7}; expr8;expr10}
>
> Both expr5 and expr7 are created, and are accessible by the code outside
> of the nested braces right? But the "return value" of the nested braces is
> expr7. So doesn't this mean that only expr7 should be accessible? Please
> help me entangle this (of course the return value of F is expr10, and all
> the other objects created by the preceding expressions are deleted. But
> expr5 is not, after the control passes outside of the nested braces!)
>
> Thanking you,
> Yours sincerely,
> AKSHAY M KULKARNI
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]