Rot-13: Difference between revisions

40 bytes removed ,  13 years ago
m
Syntax update
(Improved D version)
m (Syntax update)
Line 1,596:
 
ch@(String Character traits) rot13
[| value upper |
upper ::= ch isUppercase.
value := (ch toLowercase as: Integer).
(value >= 97) /\ ([value < 110)]
ifTrue: [value: value += 13]
ifFalse: [(value > 109) /\ ([value <= 122)]
ifTrue: [value: value -= 13]].
upper
ifTrue: [(value as: String Character) toUppercase]
Line 1,620:
 
<lang slate>ch@(String Character traits) rot13
[| value upper |
upper ::= ch isUppercase.
value := (ch toLowercase as: Integer).
(value >= 97) /\ ([value < 110)]
ifTrue: [value: value += 13]
ifFalse: [(value > 109) /\ ([value <= 122)]
ifTrue: [value: value -= 13]].
upper
ifTrue: [(value as: String Character) toUppercase]
Line 1,633:
 
s@(String traits) rot13
[
[| result |
result ::= s newSameSize.
s doWithIndex: [| :each :index | result at: index put: each rot13].
result at: index put: each rot13].
result
].
Line 1,642 ⟶ 1,641:
slate[37]> 'abc123' rot13.
'nop123'</lang>
 
=={{header|Smalltalk}}==
{{Lines_too_long}}