q / k4 (3? 5? 8?)
s'il suffit d'entrer le code et l'entrée directement dans le REPL, c'est juste asc:
q)asc"Johnny walked the dog to the park."
`s#" .Jaaddeeeghhhkklnnoooprtttwy"
l' `s#est un peu de notation q qui indique que la chaîne est en ordre de tri (peut être recherché binaire, etc.). si elle doit disparaître, cela coûte deux personnages, soit cinq:
q)`#asc"Johnny walked the dog to the park."
" .Jaaddeeeghhhkklnnoooprtttwy"
si vous voulez qu'il soit fourni sur stdin, il est temps de passer en k4 (et nous nous en débarrassons `s#gratuitement), et c'est une solution à huit caractères:
x@<x:0:0
Johnny walked the dog to the park.
" .Jaaddeeeghhhkklnnoooprtttwy"
celui-ci, btw, fonctionnera comme un fichier de code exactement tel quel (toujours huit caractères, car q est bien sans avoir la nouvelle ligne finale dans un fichier de code). normalement, il y aurait des problèmes avec une bannière de bienvenue et avec le REPL restant ouvert, mais si vous passez l'entrée en héritage, tout cela disparaît:
$ cat asc.k
x@<x:0:0
$ q asc.k<<<'Johnny walked the dog to the park.'
"\n .Jaaddeeeghhhkklnnoooprtttwy"
$
ne sais pas vraiment d'où vient cette nouvelle ligne supplémentaire dans la sortie ...