Saya memiliki masalah dengan keyboard saya (kemungkinan besar masalah dengan browser saya). Beberapa kali ketika saya mengklik bidang teks baru dan mulai mengetik semua teks saya keluar ke belakang. Setelah waktu yang sangat singkat (untuk tujuan tantangan, kami akan mengatakan itu 10 milidetik) dilanjutkan mengetik lagi. Tampaknya pada awalnya kursor saya tidak bergerak ketika saya mulai mengetik sehingga semua huruf bisa dimasukkan di awal bidang teks.
Misalnya jika saya mengetik python
dan saya mengetik pyt
dalam 10 milidetik pertama hasilnya akan
hontyp
Tugas
Tugas Anda adalah mensimulasikan perilaku ini dalam sesedikit mungkin byte.
Memasukkan
Anda dapat mengambil input dengan metode apa pun yang masuk akal. Namun Anda tidak dapat mengambil input sebagai dua bidang terpisah. Penundaan 10 milidetik harus dimulai ketika program mulai mengizinkan input. Artinya Anda mungkin harus melakukan praproses sebelum input diizinkan, yang tidak boleh dihitung dalam 10 milidetik.
Beberapa keringanan diizinkan dalam waktu selama rata-rata 10 milidetik dan dimatikan lebih dari 1 milidetik tidak lebih dari 1% dari waktu pada komputer yang ditentukan secara wajar.
Keluaran
Anda dapat menampilkan string dengan metode apa pun yang Anda inginkan. Anda dapat memperbarui langsung saat pengguna mengetik atau output hasilnya setelah Anda selesai mengambil input (baik dengan baris baru atau akhir file^D
).
Uji kasus
Beberapa di antaranya dihasilkan oleh CMC ini dalam The Nineteenth Byte
First 10 | after | result
bra in-flak in-flakarb
ap ple plepa
code- golf golf-edoc
no ne neon
we st stew
ai med media
draw back backward
Jawaban:
VimScript,
4847 byteVim memiliki beberapa bawaan bagus untuk ini. Membutuhkan Vim 8.
Mengharapkan teks dimasukkan dalam mode penyisipan, input yang sangat masuk akal untuk VimScript. Penjelasan:
Pendekatan awal saya
se ri|sl10m|se ri&
,, tidak berfungsi karena teks di-buffer sampai setelah perintah sleep, dan saya tidak bisa menemukan jalan keluarnya.sumber
HTML (JS), 96 byte
Mulai timing untuk 1s dari penekanan tombol pertama untuk memberi Anda kesempatan untuk melihatnya beraksi.
sumber
JavaScript (ES6), 88 byte
Demo
Cara snippet bekerja, Anda harus mengklik di dalam bingkainya sehingga fokus setelah mengklik tombol Run dan sebelum Anda bisa mulai mengetik.
Tidak ada cara untuk melakukannya dalam waktu kurang dari 10 ms. Jadi, saya telah mengatur penundaan ke 1 detik dalam demo ini - dan meskipun demikian, Anda sebaiknya bergegas.
Tampilkan cuplikan kode
sumber
Memproses,
167165146 byteMengambil input sebagai penekanan tombol dan output ke konsol. Ini memperbarui setiap frame.
Penjelasan
sumber
asdf
+ghjk
. Jika semuanya dalam satu variabel, maka setelah 10 milidetik, kita akan memilikifdsa
dalam satu string. Setelah itu, saatg
diketikkan, string akan menambahg
dan menjadigfdsa
. Kemudian ketikah
diketik, saya tidak dapat menambahkanh
ke variabel (karena inputnya masih terbalik), saya harus menggunakansubstring
s dan harus menghitunglength
variabel String itu. Ini akan menghabiskan banyak byte.a
danb
). Bahkan jika saya menetapkan hasilnya ke variabel temp, bytecount yang dihasilkan masih lebih besar.C - 169 byte
Yah C bukan yang terbaik untuk ini karena tidak memiliki cara platform-independen untuk melakukan ini. Bekerja di bawah MSVC.
Sedikit pendekatan hacky, jika Anda dapat mengetik lebih dari 9 karakter dalam 10 ms, ini akan macet. Pembaruan setelah karakter baris baru.
sumber
Python 2 ,
112106Jika Anda ingin output menjadi rata, tanpa membanjiri garis, gunakan
print'\r'+a+b,
sajaAnda harus mematikan proses untuk menghentikannya
sumber