M4BASIC - rot13.m4b
Not logged in
REM Demo implementing ROT13 encoder/decoder
REM http://en.wikipedia.org/wiki/ROT13
REM
REM Taken from the rot13 example of BaCon.
REM PvE, August 2014 - GPL.

STRING arg
INTEGER i, ch

IF argc != 2 THEN
    PRINT "Usage: utf8 <string>" NL
    END 1
ENDIF

SET arg = argv[1]

FOR i = 1 TO LEN(arg)

    LET ch = ASC(MID(arg, i, 1))

    IF ch > 64 AND ch < 78 THEN
        PRINT CHR(ch + 13)
    ELIF ch > 77 AND ch < 91 THEN
        PRINT CHR(ch - 13)
    ELIF ch > 96 AND ch < 110 THEN
        PRINT CHR(ch + 13)
    ELIF ch > 109 AND ch < 123 THEN
        PRINT CHR(ch - 13)
    ELSE
        PRINT CHR(ch)
    ENDIF

NEXT

NL

Return to M4BASIC