fork download
  1. : WITH-EACH-CHAR ( xt -- )
  2. S" BEGIN ?DUP WHILE SWAP DUP C@" EVALUATE
  3. ' COMPILE,
  4. S" OVER C! SWAP 1 /STRING REPEAT DROP" EVALUATE ; IMMEDIATE COMPILE-ONLY
  5.  
  6. : COMMA>SPACE ( c1 -- c2 )
  7. DUP [CHAR] , = IF DROP BL THEN ;
  8.  
  9. : COMMAS>SPACES ( c-addr u -- )
  10. WITH-EACH-CHAR COMMA>SPACE ;
  11.  
  12. 2VARIABLE STR
  13. S" 1,2,3,4,5,6" STR 2!
  14. STR 2@ COMMAS>SPACES
  15. STR 2@ TYPE
  16.  
  17. CR SEE COMMAS>SPACES
  18.  
  19. BYE
Success #stdin #stdout 0s 4540KB
stdin
Standard input is empty
stdout
1 2 3 4 5 6

: COMMAS>SPACES  
  BEGIN  ?dup 
  WHILE  swap dup c@ COMMA>SPACE over c! swap 1 /string 
  REPEAT 
  drop ;