Deutsch   English   Français   Italiano  
<7e21117d37c506cccd8e79323c416fd1@www.novabbs.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: mhx@iae.nl (mhx)
Newsgroups: comp.lang.forth
Subject: Re: Parsing =?UTF-8?B?dGltZXN0YW1wcz8=?=
Date: Sun, 6 Oct 2024 08:59:23 +0000
Organization: novaBBS
Message-ID: <7e21117d37c506cccd8e79323c416fd1@www.novabbs.com>
References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="797120"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="J+nubxJRM7ncpF4l6KLO+OONWmFAYJHVJegfwQXJ8vc";
User-Agent: Rocksolid Light
X-Rslight-Posting-User: 4e0dc1fdad1ead10b39e7eb5db19bf73d73e3ab3
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Site: $2y$10$Z7FywX0W5hyJa8qexzNxs.MQAPIzBIuka8VgYdSJzDs3GZoo2jt6C
Bytes: 1720
Lines: 27

On Sun, 6 Oct 2024 7:51:31 +0000, 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

Why don't you use the fact that >NUMBER returns the given
string starting with the first unconverted character?
SPLIT should be redundant.

-marcel