Playfair cipher: Difference between revisions
Content added Content deleted
(→{{header|J}}: handle strings with multiple doubles) |
(→{{header|J}}: tacit version of dedouble) |
||
Line 751: | Line 751: | ||
restrict=: ] -. -.~ |
restrict=: ] -. -.~ |
||
getidx=: 1 >:@+:@i.~ =/"1@(_2 ]\ ]) NB. index of digraph with repeated letter |
|||
dedouble=: verb define |
|||
splitDigraph=: ({. , 'X' , }.)~ getidx NB. split first digraphs with repeated letter |
|||
while. +./ msk=. =/"1 ] _2 ]\ y do. |
|||
dedouble=: dtb@:(>:@# {. splitDigraph)^:_ NB. split digraphs until until no change |
|||
y =. (1 2 p. {. I. msk) ({. , 'X' , }.) y |
|||
end. |
|||
y |
|||
) |
|||
choose 'Q' |
choose 'Q' |