; return a value via endsub o sub o endsub [4711] ; return a value via return o sub o100 return [4712] o endsub ; a procedure without return value o sub o endsub ;py,from interpreter import * ;;;py,print this.return_value ;;;py,print this.value_returned ;py,assert equal(this.return_value,0.0) ;py,assert this.value_returned == 0 o call ; make sure they are properly set ;py,assert equal(this.return_value,4711.0) ;py,assert this.value_returned == 1 o call ; make sure they are cleared ;py,assert equal(this.return_value,0.0) ;py,assert this.value_returned == 0 o call ; make sure they are properly set again ;py,assert equal(this.return_value,4712.0) ;py,assert this.value_returned == 1 o call ; make sure they are cleared again ;py,assert equal(this.return_value,0.0) ;py,assert this.value_returned == 0 ; now the same for Python oword subs o call ;py,assert equal(this.return_value,4711.0) ;py,assert this.value_returned == 1 o call ; make sure they are cleared again ;;py,assert equal(this.return_value,0.0) ;;py,assert this.value_returned == 0 o call ;py,assert equal(this.return_value,4711.0) ;py,assert this.value_returned == 1 o call ; make sure they are cleared again ;py,assert equal(this.return_value,0.0) ;py,assert this.value_returned == 0 m2