Re: Reverse SCAN SPLIT

Liste des GroupesRevenir à cl forth 
Sujet : Re: Reverse SCAN SPLIT
De : dxforth (at) *nospam* gmail.com (dxf)
Groupes : comp.lang.forth
Date : 10. Oct 2024, 07:00:43
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <749c4024065d36114fae309309b3a5e42f576d0c@i2pn2.org>
References : 1
User-Agent : Mozilla Thunderbird
On 7/10/2024 7:52 pm, dxf wrote:
Earlier I mentioned scanning in reverse.  Here's an implementation.
 
[undefined] dxforth [if]
: \CHAR ( a u -- a2 u2 c )  1- 2dup + c@ ;
[then]
 
\ As for SCAN but scan from end
: SCAN< ( a u c -- a2 u2 | a 0 )
  >r over swap begin dup while \char r@ = until 1+ then
  rot drop rdrop ;

Cleaned-up version:

: SCAN< ( a u c -- a2 u2 | a 0 )
  >r begin dup while \char r@ = until 1+ then r> drop ;

\ As for SPLIT but scan from end. Latter string is topmost.
: SPLIT< ( a u c -- a2 u2 a3 u3 )
  >r 2dup r> scan< 2swap 2 pick /string ;


Date Sujet#  Auteur
7 Oct 24 * Reverse SCAN SPLIT18dxf
7 Oct 24 +* Re: Reverse SCAN SPLIT6Ahmed
7 Oct 24 i`* Re: Reverse SCAN SPLIT5Ahmed
7 Oct 24 i `* Re: Reverse SCAN SPLIT4dxf
7 Oct 24 i  `* Re: Reverse SCAN SPLIT3Ahmed
8 Oct 24 i   `* Re: Reverse SCAN SPLIT2dxf
8 Oct 24 i    `- Re: Reverse SCAN SPLIT1Ahmed
7 Oct 24 +* Re: Reverse SCAN SPLIT2Ruvim
7 Oct 24 i`- Re: Reverse SCAN SPLIT1dxf
7 Oct 24 +- Re: Reverse SCAN SPLIT1dxf
10 Oct 24 +- Re: Reverse SCAN SPLIT1dxf
10 Oct 24 `* Re: Reverse SCAN SPLIT7albert
10 Oct 24  `* Re: Reverse SCAN SPLIT6dxf
17 Oct 24   +- Re: Reverse SCAN SPLIT1minforth
17 Oct 24   `* Re: Reverse SCAN SPLIT4mhx
18 Oct 24    +- Re: Reverse SCAN SPLIT1dxf
18 Oct 24    `* Re: Reverse SCAN SPLIT2dxf
19 Oct 24     `- Re: Reverse SCAN SPLIT1albert

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal