1. type string(sequence s)
- Posted by Alan Tu <ATU5713 at COMPUSERVE.COM> Mar 10, 1999
- 409 views
Is there a better way to do this? type string(sequence s) for i =3D 1 to length(s) do if not (s[i] >=3D 0 and s[i] <=3D 255) then return 0 end if end for return 1 end type Alan =
2. Re: type string(sequence s)
- Posted by Roderick Jackson <rjackson at CSIWEB.COM> Mar 10, 1999
- 392 views
I think that's the only way a string type can be created. However, if the speed is your concern, it might be somewhat "tweakable"... Replacing if not (s[i] >=0 and s[i] <= 255) then with c = s[i] if (c < 0) or (c > 255) then and having 'c' declared at the beginning of the type statement might yield a slight speed increase, particularly with long strings. Rod Jackson ---------- From: Alan Tu[SMTP:ATU5713 at COMPUSERVE.COM] Sent: Wednesday, March 10, 1999 5:02 PM To: EUPHORIA at LISTSERV.MUOHIO.EDU Subject: type string(sequence s) Is there a better way to do this? type string(sequence s) for i = 1 to length(s) do if not (s[i] >= 0 and s[i] <= 255) then return 0 end if end for return 1 end type Alan
3. Re: type string(sequence s)
- Posted by Liquid-Nitrogen Software <nitrogen_069 at HOTMAIL.COM> Mar 10, 1999
- 377 views
--this should work: type string(sequence s) if find(0, (s >= 0 and s <= 255)) then return 0 else return 1 end if end type --Mark / Liquid-Nitrogen.
4. Re: type string(sequence s)
- Posted by Bernie Ryan <bwryan at PCOM.NET> Mar 10, 1999
- 375 views
You are allowing NON printable characters. You might look at Normand M. Blais string.e in the archive.
5. Re: type string(sequence s)
- Posted by "Carl R. White" <C.R.White at SCM.BRAD.AC.UK> Mar 11, 1999
- 376 views
On Wed, 10 Mar 1999, Liquid-Nitrogen Software wrote: ] type string(sequence s) ] if find(0, (s >= 0 and s <= 255)) then ] return 0 ] else ] return 1 ] end if ] end type Taking it one step further: type string(sequence s) return 0 = find(0,s >= 0 and s <= 255) end type -- ">=", "<=", "and", "find" and "=" -- 5 calculations But if s contains an atom it isn't spotted! So... To infinity and beyond: type string(sequence s) return 0=find(0,s=and_bits(s,255)) end type -- "and_bits", "=", "find" and "=" -- 4 calculations = faster(untested) However, for really long strings, the original "for" loop may be faster because it stops at the first error rather than checking everything. EMWV. HTH, Carl -- Carl R White -- Final Year Computer Science at the University of Bradford E-mail........: cyrek- at -bigfoot.com -- Remove hyphens. Ta :) URL...........: http://www.bigfoot.com/~cyrek/ Uncrackable...: "19.6A.23.38.52.73.45 25.31.1C 3C.53.44.39.58"