Re: Coming From QBasic
- Posted by "Lynn Kilroy" <leks_transportation at hotmail.com> Jan 17, 2006
- 538 views
It's case sensative? {Looks throught the docs} I don't think I saw that mentioned anywhere. >From: Jason Gade <guest at RapidEuphoria.com> >Reply-To: EUforum at topica.com >To: EUforum at topica.com >Subject: Re: Coming From QBasic >Date: Tue, 17 Jan 2006 09:23:10 -0800 > > >posted by: Jason Gade <jaygade at yahoo.com> > >Lynn Kilroy wrote: > > > > I see nothing wrong with passing an argument to a subroutine/procedure= >{to > > me, these are really the same thing}, and allowing that subroutine to= >alter > > > > it. In QBasic, if I said: > > > > >DECLARE SUB Inke (a AS STRING) > > > > > >SUB Inkey (a AS STRING) > > >a = INKEY$ > > >END SUB > > > > what I'm saying is Inkey requires the argument 'a,' which passes data t= o >and > > > > can also extract data from the subroutine. If I included a local >variable > > > > in that subroutine: > > > > >DECLARE SUB Inke (a AS STRING) > > > > > >SUB Inkey (a AS STRING) > > > > > >DIM Variable AS DOUBLE > > > > > >Variable = RND > > > > > >a = INKEY$ > > > > > >END SUB > > > > then Variable is only remembered by Inkey. but is never seen by the res= t >of > > > > the program. In this case, it is a useless excercise becuase nothing i= s > > done with it. As you say, local versus global. > > > > Also, in both cases above, the line > > > > >SUB Inkey (a AS STRING) > > > > means you *MUST* pass it an argument. That argument can be either a > > variable pointer or a constant hard coded as an argument. In the case= >of > > Inkey, you could pass it arguments the following way, and they would al= l > > work. > > > > >DIM KeyPress AS STRING > > > > > >Inkey KeyPress > > > > -Or- > > > > >Inkey X$ > > > > -Or- > > > > >Inkey " " > > > > The first two are variables. I never use the signed variables. Poor= >form, > > > > and rather tasteless to me, anymore, so the middle one is out. But I= >use > > variations of the top and bottom lines quite frequently, although in th= e > > case of Inkey, calling Inkey with " " as the argument {a hard coded > > constant} rather defeats the purpose. > > > > In Euphoria, the sub would look different. I'm going to use your code= >and > > take a whack at it. > > > > >Procedure Inkey(Integer Key) > > > Key = get_key() > > >End Procedure > > > > > >Integer Key > > > > > >Inkey(Key) > > > > Would this work? If not this precisely, then how would it be coded, > > precisely? The difference isn't so much that I use a global variable= >for it > > > > {Blech!} but that I pass a variable to it, and the variable is altered= >by > > the Subroutine/Procedure and then passed back to the main program {if= >the > > main program had a variable pointer in the first place}. > > > > Love & Friendship & Blessed Be! > > Lynn Erika Kilroy > >No, this wouldn't work because Euphoria doesn't use pointers and doesn't= >allow you to modify a variable passed in as an argument. > >Euphoria is case-sensitive, too, so "Integer" would not work in place of= >"integer". Unless you defined "Integer" seperately. > >-- >"Actually, I'm sitting on my butt staring at a computer screen." > - Tom Tomorrow > >j. > > > >