q / k4(3?5?8?)
コードと入力をREPLに直接入力するだけで十分な場合は、次のascとおりです。
q)asc"Johnny walked the dog to the park."
`s#" .Jaaddeeeghhhkklnnoooprtttwy"
これ`s#は、文字列がソート順(バイナリ検索など)であることを示すq表記のビットです。それが行かなければならない場合、それは2文字を費やし、5を作ります:
q)`#asc"Johnny walked the dog to the park."
" .Jaaddeeeghhhkklnnoooprtttwy"
stdinで提供したい場合は、k4に切り替えます(そして`s#、無料で削除します)。これは8文字のソリューションです。
x@<x:0:0
Johnny walked the dog to the park.
" .Jaaddeeeghhhkklnnoooprtttwy"
その1つであるbtwは、そのままの状態でコードファイルとして機能します(qはコードファイルに最後の改行がない場合でも問題ないため、8文字のままです)。通常、ウェルカムバナーとREPLが開いたままになると問題が発生しますが、ヒアストリングとして入力を渡すと、すべてが消えます:
$ cat asc.k
x@<x:0:0
$ q asc.k<<<'Johnny walked the dog to the park.'
"\n .Jaaddeeeghhhkklnnoooprtttwy"
$
出力の余分な改行がどこから来ているのか実際にはわかりません。