q / k4 (3? 5? 8?)
ถ้ามันเพียงพอที่จะป้อนรหัสและการป้อนข้อมูลโดยตรงใน REPL มันเป็นเพียงasc:
q)asc"Johnny walked the dog to the park."
`s#" .Jaaddeeeghhhkklnnoooprtttwy"
`s#เป็นบิตของสัญกรณ์ Q ที่บ่งชี้ว่าสตริงอยู่ในลำดับที่เรียงลำดับ (สามารถสืบค้นไบนารีอื่น ๆ ) ถ้าต้องไปนั่นต้องเสียค่าตัวละครสองตัวโดยทำห้า:
q)`#asc"Johnny walked the dog to the park."
" .Jaaddeeeghhhkklnnoooprtttwy"
หากคุณต้องการให้มันเป็น stdin ก็ถึงเวลาเปลี่ยนเป็น k4 (และเราจะกำจัด`s#ให้ฟรี) และมันเป็นตัวละครแปดตัว:
x@<x:0:0
Johnny walked the dog to the park.
" .Jaaddeeeghhhkklnnoooprtttwy"
หนึ่งนั้น btw จะทำงานเป็นไฟล์รหัสให้ตรงตามที่เป็นอยู่ (ยังมีอักขระแปดตัวเนื่องจาก q ใช้ได้ดีโดยไม่ต้องขึ้นบรรทัดใหม่สุดท้ายในไฟล์รหัส) โดยปกติจะมีปัญหากับแบนเนอร์ต้อนรับและเมื่อ REPL เปิดอยู่ แต่ถ้าคุณส่งอินพุตเป็น herestring สิ่งที่หายไป:
$ cat asc.k
x@<x:0:0
$ q asc.k<<<'Johnny walked the dog to the park.'
"\n .Jaaddeeeghhhkklnnoooprtttwy"
$
ไม่แน่ใจจริงๆว่าบรรทัดใหม่ที่เพิ่มในเอาต์พุตมาจาก ....