home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,862 of 117,927   
   dxf to albert@spenarnc.xs4all.nl   
   Re: Parsing timestamps?   
   08 Oct 24 19:55:34   
   
   From: dxforth@gmail.com   
      
   On 8/10/2024 6:41 pm, albert@spenarnc.xs4all.nl wrote:   
   > In article <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org>,   
   > dxf   wrote:   
   >> Is there an easier way of doing this?  End goal is a double number   
   >> representing centi-secs.   
   >>   
   >>   
   >> empty decimal   
   >>   
   >> : SPLIT ( a u c -- a2 u2 a3 u3 )  >r 2dup r> scan 2swap 2 pick - ;   
   >> : >INT ( adr len -- u )  0 0 2swap >number 2drop drop ;   
   >>   
   >> : /T ( a u -- $hour $min $sec )   
   >>  2 0 do  [char] : split  2swap  dup if 1 /string then  loop   
   >>  2 0 do  dup 0= if 2rot 2rot then  loop ;   
   >>   
   >> : .T  2swap 2rot  cr  >int . ." hr "  >int . ." min " >int . ." sec " ;   
   >>   
   >> s" 1:2:3"    /t .t   
   >> s" 02:03"    /t .t   
   >> s" 03"       /t .t   
   >> s" 23:59:59" /t .t   
   >> s" 0:00:03"  /t .t   
   >   
   > This problem is ill posed. You don't specify what happens   
   > with less that 3 fields, or the meaning of the fields.   
   > Normally I make the tests to run before attempting to code.   
      
   Running this again I get the same (my expected) results (SwiftForth, VFX,   
   Gforth etc).   
   Not sure how I concluded it was broken.  I've lost track of the iterations   
   done since.   
   Today I'm liking sjacks' solution.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca