rot13 demo from dan

slava 2006-11-30 22:13:24 +00:00
parent 8f0cec3e16
commit ea2a60df7e
2 changed files with 19 additions and 0 deletions

4
demos/all.factor Normal file
View File

@ -0,0 +1,4 @@
REQUIRES: demos/color-picker demos/haar demos/lcd demos/nehe
demos/numbers-game demos/hello-world demos/mslug-talk demos/rot13 ;
PROVIDE: demos/all ;

15
demos/rot13.factor Normal file
View File

@ -0,0 +1,15 @@
! Copyright (C) 2006 Daniel Ehrenberg
! See http://factorcode.org/license.txt for BSD license.
IN: rot13
USING: kernel math sequences strings ;
: rotate ( ch base -- ch ) tuck - 13 + 26 mod + ;
: rot-letter ( ch -- ch )
{
{ [ dup letter? ] [ CHAR: a rotate ] }
{ [ dup LETTER? ] [ CHAR: A rotate ] }
{ [ t ] [ ] }
} cond ;
: rot13 ( string -- string ) [ rot-letter ] map ;