RosettaCodeData/Task/Vigen-re-cipher/Smalltalk/vigen-re-cipher-1.st
Ingy döt Net 68f8f3e56b all tasks
2013-04-11 01:07:29 -07:00

3 lines
321 B
Smalltalk

prep := [:s | s select:[:ch | ch isLetter] thenCollect:[:ch | ch asUppercase]].
encrypt := [:s :cypher | (prep value:s) keysAndValuesCollect:[:i :ch | ch rot:((cypher at:((i-1)\\key size+1))-$A) ]].
decrypt := [:s :cypher | (prep value:s) keysAndValuesCollect:[:i :ch | ch rot:26-((cypher at:((i-1)\\key size+1))-$A) ]].