Inilah tantangan yang menarik ...
Saya ingin Anda membuat kode golf daripada saat dijalankan akan memungkinkan input Anda dikonversi menjadi mimic output seolah-olah Anda sedang mengetik pada tata letak keyboard DVORAK.
Tujuannya adalah untuk meniru Keyboard US Simplified Dvorak (US: SDK)
Sebagai perbandingan, berikut adalah tata letak US QWERTY standar:
Emulasi keyboard harus berfungsi baik untuk huruf besar dan huruf kecil serta tombol bergeser, misalnya, jika saya mengetuk tombol q
(tidak tergeser) pada keyboard saya, kode Dvorak harus mengeluarkan '
karakter di layar. Jika saya mengetuk tombol c
(tidak tergeser) saya harus mendapatkan j
(juga tidak tergeser) sebagai respons, C
(bergeser) akan mendapatkan J
(bergeser) dan seterusnya ...
Saya hanya berkonsentrasi pada tombol putih pada diagram di atas. Tab, Caps dan kunci abu-abu lainnya harus berfungsi seperti biasa ...
Ada pertanyaan? Tidak untuk sekarang? Baik...
Saya tidak akan mengizinkan sumber daya eksternal yang sudah memiliki tata letak disandikan, saya tidak akan memiliki file yang dibawa yang dapat menyandikan tata letak. Kode ini HARUS QWERTY INPUT -> (DVORAK RE-CODING) -> DVORAK OUTPUT
sifatnya. Tidak ada Esolangs konyol yang teoretis atau hanya mengatakan sesuatu seperti "Program ini akan mengambil input QWERTY dan mengode ulang dalam DVORAK. Ini adalah programnya." atau omong kosong seperti itu ... Terima tantangan ini dengan serius ... Jadi, Brainfuck coders, saya menyambut Anda.
Harap dicatat, ini BUKAN program konversi string. Untuk setiap kunci QWERTY yang Anda tekan, karakter DVORAK yang sesuai harus dikeluarkan ...
Kode terpendek menang ...
;)
Jawaban:
Shell: Unix tr (1) , 94
Perintah ini mengambil QWERTY pada stdin dan mengeluarkan DVORAK pada stdout.
sumber
C - 144 karakter
sumber
C #, 360 karakter
Mungkin bukan yang terpendek, tetapi ia melakukan persis seperti yang Anda tanyakan:
Jika Anda menekan tombol pada keyboard QWERTY Anda, maka karakter DVORAK yang benar muncul di konsol.
sumber
AutoHotKey, 200 byte
Seharusnya ada jawaban di AHK untuk pertanyaan ini tetapi tidak. Jadi hanya memposting satu.
sumber
R , 157 byte
Skrip terjemahan sederhana.
Cobalah online!
sumber