“Merhaba, Dünya!” Yazın


11

Yazılan klavye olaylarını üreten bir program yazın Hello, World!.

Platformdan bağımsız olması gerekmez.

Hiçbir tuşu basılı bırakamaz. Örneğin, Java, Robot.KeyPress('H');bırakacağım Hsen onu serbest bırakmak gerekir bu yüzden, preslenmişRobot.KeyRelease('H');

Programınız çalışırken büyük harf kilidinin kapalı olduğunu varsayabilirsiniz. Büyük harfler, shift tuşunu basılı tutarak ve harfe basarak veya büyük harf kilidini değiştirerek yazılabilir. İçin, !muhtemelen shift yöntemini kullanmanız gerekecektir.

En kısa kod kazanır.

Yanıtlar:


9

C (Linux), 186 bayt

#include<sys/ioctl.h>
#include<fcntl.h>
#include<stdio.h>
main(){char*s="Hello, World!",d[99],*c;fscanf(popen("tty","r"),"%s",d);int D=open(d,O_RDWR);for(c=s;*c;c++)ioctl(D,TIOCSTI,c);}

Ujenoren'in önerilerini uyguladıktan sonra:

111 bayt

main(D){char*c,d[99];fscanf(popen("tty","r"),"%s",d);D=open(d,2);for(c="Hello, World!";*c;)ioctl(D,21522,c++);}

Biraz kısaltabilirsiniz. Kaldır s(sadece başlat for(c="H..), kaydetmek ciçin ioctl, main(D)artır int. Belki bazı içerir (sabit kod O_RDWRve hatta TIOCSTI).
ugoren

@ugoren Teşekkürler, deneyeceğim :)
saeedn

Bu en kısa değil. Bu neden kabul edilen cevap? (Güzel bir cevap olduğunu düşünüyorum, ancak sitenin nasıl çalıştığını öğrenmek istiyorum.)
11684

@ 11684 En kısa cevabın yazarı benden saymamamı istedi, bu yüzden bunun yerine en kısa önemsiz cevabı kabul ettim.
cardboard_box

Aramaya gerek yok tty, sadece stdin bir tty ise çalışır, bu durumda 0zaten açık bir terminal fd ise.
Dave

18

AppleScript, 50 bayt

tell app"System Events"to keystroke"Hello, World!"

Öneri için marinus'a teşekkürler.


3
Huh. Görünüşe göre doğru iş için doğru dili seçtiniz.
cardboard_box

Bunu kısaltabilirsiniz tell app"System Events"to keystroke"Hello, World!".
marinus

Damnit, bunu bağımsız olarak düşündüm ... +1!
11684

13

Otomatik kısayol tuşu, 20 bayt

send Hello, World{!}

Lütfen bunu saymayın. Bunu gerçekte yapmış olan kişileri tuş vuruşlarını göndermek için olmayan bir dille kandırmak istemiyorum. Bu cevap sadece tamamlanmak içindir: P



3

C, Windows 7, 201 bayt içinde

#include<windows.h>
#include<winable.h>
#define S SendInput(1,&k,28);
int k[7]={1};main(i){char*s="^HELLO, ^WORLD^1";for(i=0;i<16;i++){k[2]=0;if(s[i]>90){k[1]=16;S i++;}k[1]=s[i];S k[2]=2;S k[1]=16;S}}

Program sonucu:

C:\My\Directory>type.exe

C:\My\Directory>Hello, World!


1

VBScript, 54 bayt

createobject("wscript.shell").sendkeys "Hello, World!"

1

Tcl, 46 bayt

package r Expect;spawn bash;send Hello,\ World

Beklenti, 29 bayt

spawn bash;send Hello,\ World

Tk sürümünü yapmaya çalıştı, ancak başarısız oldu: bazı şeyler içeren dosya pastebin.ca/3897417
sergiol

1

USB Kauçuk Ducky için Ducky Script, 22 bayt

String "Hello, World!"

0

PowerShell, 55 bayt

(New-Object -c wscript.shell).sendkeys('Hello, World!')


0

Python 3,67 bayt

from pynput.keyboard import*
s=Controller()
s.type("Hello, World!")

Tio'da pynput adında bir modül yok

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.