Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
94
Task/Rot-13/NetRexx/rot-13.netrexx
Normal file
94
Task/Rot-13/NetRexx/rot-13.netrexx
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref savelog symbols nobinary
|
||||
|
||||
parse arg fileNames
|
||||
|
||||
rdr = BufferedReader
|
||||
|
||||
do
|
||||
if fileNames.length > 0 then do
|
||||
loop n_ = 1 for fileNames.words
|
||||
fileName = fileNames.word(n_)
|
||||
rdr = BufferedReader(FileReader(File(fileName)))
|
||||
encipher(rdr)
|
||||
end n_
|
||||
end
|
||||
else do
|
||||
rdr = BufferedReader(InputStreamReader(System.in))
|
||||
encipher(rdr)
|
||||
end
|
||||
catch ex = IOException
|
||||
ex.printStackTrace
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
method encipher(rdr = BufferedReader) public static signals IOException
|
||||
|
||||
loop label l_ forever
|
||||
line = rdr.readLine
|
||||
if line = null then leave l_
|
||||
say rot13(line)
|
||||
end l_
|
||||
return
|
||||
|
||||
method rot13(input) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, 13, isFalse)
|
||||
|
||||
method caesar(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
|
||||
|
||||
if idx < 1 | idx > 25 then signal IllegalArgumentException()
|
||||
|
||||
-- 12345678901234567890123456
|
||||
itab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
||||
shift = itab.length - idx
|
||||
parse itab tl +(shift) tr
|
||||
otab = tr || tl
|
||||
|
||||
if caps then input = input.upper
|
||||
|
||||
cipher = input.translate(itab || itab.lower, otab || otab.lower)
|
||||
|
||||
return cipher
|
||||
|
||||
method caesar_encipher(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, idx, caps)
|
||||
|
||||
method caesar_decipher(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, int(26) - idx, isFalse)
|
||||
|
||||
method caesar_encipher(input = Rexx, idx = int) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, idx, isFalse)
|
||||
|
||||
method caesar_decipher(input = Rexx, idx = int) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, int(26) - idx, isFalse)
|
||||
|
||||
method caesar_encipher(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, idx, opt)
|
||||
|
||||
method caesar_decipher(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, int(26) - idx, opt)
|
||||
|
||||
method caesar(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
|
||||
|
||||
if opt.upper.abbrev('U') >= 1 then caps = isTrue
|
||||
else caps = isFalse
|
||||
|
||||
return caesar(input, idx, caps)
|
||||
|
||||
method caesar(input = Rexx, idx = int) public static signals IllegalArgumentException
|
||||
|
||||
return caesar(input, idx, isFalse)
|
||||
|
||||
method isTrue public static returns boolean
|
||||
return (1 == 1)
|
||||
|
||||
method isFalse public static returns boolean
|
||||
return \isTrue
|
||||
Loading…
Add table
Add a link
Reference in a new issue