The R antibugging practice here is to not use the return function. The 
expression on the last line of the function is automatically the return value 
of the function. Some people use return within conditionals in the function, 
but when I have conditional execution flow I prefer to simply assign alternate 
return values to a local variable along different execution paths and require 
all execution paths to reach the end of the function where that variable name 
is alone on the last line.

On April 30, 2025 2:15:02 AM PDT, Ralf Goertz via R-help <r-help@r-project.org> 
wrote:
>I made a stupid error when programming a function. I used 
>
>> return(OR^2+6*OR+1)/(OR*se^2)
>
>Being parenthesis blind it took me half an hour to find the reason for
>the nonsensical results I got. I should have written
>
>> return((OR^2+6*OR+1)/(OR*se^2))
>
>Having said that why is the first variant (which returns the value of
>the numerator only) not a syntax error? I would have expected R to
>report something like
>
>> Error: unexpected '/' in "return(OR^2+6*OR+1)/"
>
>If this is not an error what is its purpose?
>
>______________________________________________
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

-- 
Sent from my phone. Please excuse my brevity.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to