Working on better POST and PUT requests
[factor/jcg.git] / extra / rot13 / rot13.factor
blob6663381522aeb2fbcde56cd4f2b526184c1cd0f7
1 ! Copyright (C) 2006 Daniel Ehrenberg
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel math sequences strings io combinators ascii ;
4 IN: rot13
6 : rotate ( ch base -- ch ) tuck - 13 + 26 mod + ;
8 : rot-letter ( ch -- ch )
9     {
10         { [ dup letter? ] [ CHAR: a rotate ] }
11         { [ dup LETTER? ] [ CHAR: A rotate ] }
12         [ ]
13     } cond ;
15 : rot13 ( string -- string ) [ rot-letter ] map ;
17 : rot13-demo ( -- )
18     "Please enter a string:" print flush
19     readln [
20         "Your string: " write dup print
21         "Rot13:       " write rot13 print
22     ] when* ;
24 MAIN: rot13-demo