Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Rot-13/Slate/rot-13-1.slate
Normal file
23
Task/Rot-13/Slate/rot-13-1.slate
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/local/bin/slate
|
||||
|
||||
ch@(String Character traits) rot13
|
||||
[| value |
|
||||
upper ::= ch isUppercase.
|
||||
value := ch toLowercase as: Integer.
|
||||
(value >= 97) /\ [value < 110]
|
||||
ifTrue: [value += 13]
|
||||
ifFalse: [(value > 109) /\ [value <= 122]
|
||||
ifTrue: [value -= 13]].
|
||||
upper
|
||||
ifTrue: [(value as: String Character) toUppercase]
|
||||
ifFalse: [value as: String Character]
|
||||
].
|
||||
|
||||
lobby define: #Rot13Encoder &parents: {Encoder}.
|
||||
|
||||
c@(Rot13Encoder traits) convert
|
||||
[
|
||||
[c in isAtEnd] whileFalse: [c out nextPut: c in next rot13].
|
||||
].
|
||||
|
||||
(Rot13Encoder newFrom: Console reader to: Console writer) convert.
|
||||
22
Task/Rot-13/Slate/rot-13-2.slate
Normal file
22
Task/Rot-13/Slate/rot-13-2.slate
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
ch@(String Character traits) rot13
|
||||
[| value |
|
||||
upper ::= ch isUppercase.
|
||||
value := ch toLowercase as: Integer.
|
||||
(value >= 97) /\ [value < 110]
|
||||
ifTrue: [value += 13]
|
||||
ifFalse: [(value > 109) /\ [value <= 122]
|
||||
ifTrue: [value -= 13]].
|
||||
upper
|
||||
ifTrue: [(value as: String Character) toUppercase]
|
||||
ifFalse: [value as: String Character]
|
||||
].
|
||||
|
||||
s@(String traits) rot13
|
||||
[
|
||||
result ::= s newSameSize.
|
||||
s doWithIndex: [| :each :index | result at: index put: each rot13].
|
||||
result
|
||||
].
|
||||
|
||||
slate[37]> 'abc123' rot13.
|
||||
'nop123'
|
||||
Loading…
Add table
Add a link
Reference in a new issue