home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / rexx / 784 < prev    next >
Encoding:
Internet Message Format  |  1992-08-25  |  2.1 KB

  1. Path: sparky!uunet!gatech!bloom-beacon!eru.mt.luth.se!lunic!sunic!sejnet.sunet.se!eric
  2. From: eric@sejnet.sunet.se (Eric Thomas)
  3. Newsgroups: comp.lang.rexx
  4. Subject: Re: do over stem
  5. Message-ID: <1992Aug26.030344.1@sejnet.sunet.se>
  6. Date: 26 Aug 92 03:03:44 GMT
  7. References: <179f67INNkfm@stanley.cis.Brown.EDU> <ANDERS.92Aug25001604@lise3.lise.unit.no> <1684D13F6B.PNNTEST@pucc.Princeton.EDU>
  8. Sender: news@sunic.sunet.se
  9. Reply-To: ERIC@SEARN.SUNET.SE
  10. Organization: SUNET, Stockholm, Sweden
  11. Lines: 27
  12.  
  13. In article <1684D13F6B.PNNTEST@pucc.Princeton.EDU>, tdtrue@pucc.Princeton.EDU writes:
  14. > In article <ANDERS.92Aug25001604@lise3.lise.unit.no>
  15. > anders@lise3.lise.unit.no (Anders Christensen) writes:
  16. >>Unfortunately, a builtin function called tails(), which takes the name
  17. >>of a stem as parameter, and return a list of tails, is impossible.
  18. >>Because tails may include any character, there is no character left
  19. >>that can be used as separator for the various tails.
  20. >  
  21. > Another approach to this would be to have tails() return only one
  22. > tail at a time.  You would then need some sort of 'SET/RESET'
  23. > parameter with tail() as well.  When no more tails are available, it
  24. > would return null ... or can null be a tail as well?
  25.  
  26. Null can be a tail. Your tail() either needs to remember all sorts of things
  27. internally between each call, or needs to be given the name of the last tail it
  28. returned so that it can find the next one. The latter case opens up a nice can
  29. of worm in case of incorrect input, dropped variable, and performance would be
  30. worse since it has to locate the input tail every time. No good. In the former
  31. case, tail() has to store this internal data somewhere and has to make sure
  32. that the memory in question is released if you exit prematurely (without a
  33. RESET call), or whatever you wanted to call it. No good. Or the data can be in
  34. internal interpreter work areas, like the stem descriptor, in which case it
  35. might as well be done directly by the interpreter with 'Do i over l.' or the
  36. like. The interpreter furthermore has the ability to prevent drop or additions
  37. to the stem while it is being examined if that is necessary.
  38.  
  39.   Eric
  40.