f1<-function(x,y){
    f2<-function(a,b){
        print("f2")
        return(a+b)}
    f2(x,y)
    print("f1")
    return(x-y)}
f1(8,5)
I was trying above code to figure out the steps of operating function within function, so instead of writing two separate functions, I write the above code. But I can't get the output for a+b (which is 13)
[1] "f2"
[1] "f1"
[1] 3
#[1] 13, this output is missing.
How should the code be corrected? Thank you.
*additional question: when I only write x-y instead of return(x-y) at the last line of the function f1, I got the same output. Is simply write x-y a bad practice or accpetable?
-------------------------Update:
I just find out a way to get all the four outputs by changing the 4th line from return(a+b) to print(a+b)
or to make it more simple, only use the x,yarguments:
f1<-function(x,y) {
    f2<-function() {
        print("f2")
        print(x+y)
        }
    f2()
    print("f1")
    x-y
    }
while I still don't understand why using return(x+y) or simply x+y at the 4th line could not get the output of 13?
 
    