Devam etmek için herhangi bir tuşa basın


36

Göreviniz aşağıdaki metni görüntüleyen bir program oluşturmaktır, kullanıcı bir tuşa basın için bekleme (Bu gibi tuşları görmezden iyidir ctrl, alt, caps lockanahtarlar gibi, vb sürece letters, numbers, symbolsve entergöz ardı edilmez), ve sonra programı sonlandırın:

Press any key to continue... 

İzleyen yeni satırlara izin verilir. Bir tuşa basıldıktan hemen sonra programın çıkması gerekir. Ayrıca, programın oldukça taşınabilir olması gerekir (örn. İşletim sistemine özgü başlıklar veya modüller, bir IDE'nin dışında çalışmaz, vb.).


Bilgi istemi, yeni bir satır sonrasından kaçınılmazsa, tam olarak yukarıda gösterildiği gibi olmalıdır.


Bu , yani bayt cinsinden en kısa cevap kazanır. Bu aynı zamanda ilk kod-golf sorum, bu yüzden PPCG'deki kuralları bilmediğim için özür dilerim.


4
Çıktı metni büyük / küçük harf duyarlı mı? Misiniz WinBatch PAUSE(üç nokta yayılır geçerli bir cevap ...için . . .)?
FlipTack

13
Ayrıca herhangi bir cevabı kabul etmeden önce bir veya iki hafta beklemenizi öneririm
Kritixi Lithos

3
Çoğu dilin pauseişlevleri muhtemelen Caps-Lock veya Control gibi tuşlara duyarsızdır (kendi kendine basılır). Belki de programın bu anahtarları fark etmemesine izin
verilip

15
Bir cevabı kabul etmeden önce birkaç hafta beklemelisiniz, çünkü sayısız diğerleri size tavsiyelerde bulundu (henüz tavsiyelerini görmezden gelmeyi seçtiniz)
FlipTack

12
@JungHwanMin Başkalarına katılıyorum. Lütfen girişleri durdurulana kadar bir çözüm kabul etmek için bekleyin. Gerçekten,
Ocak'ta saat

Yanıtlar:


5

SmallBasic, 18 17 bayt

  • Sürüm 2.0

17 bayt

TextWindow.Show()
  • Sürüm 1.0

18 bayt

TextWindow.Pause()

3
Sadece yapamaz TextWindow.Show()mısın? Aynı etkiye sahip olması gereken bu siteye dayanarak .
Suever

20

Toplu, 46 bayt

@echo Press any key to continue...
@pause>nul

Çünkü pauseçıktısı her birinden önce bir boşluk içeriyor ..


5
Güzel yönlendirme. Çıktıyı da gönderebilir misiniz x? Sonra xmetni tutan bir dosya oluşturulur Press any key to continue . . .. 2 bayt kaydeder, ancak bu zorluğa veya herhangi bir standart boşluklara karşı gelip gelmeyeceğinden emin değilim.
steenbergh

Bir süredir choice.exe programındayım ama @choice /n /m Press any key to continue...on yıllar önce de mümkün olabileceğine dair bir his var .
Manatwork

Seçim, J ve N olarak varsayılan değerlere sahiptir, bu nedenle program yalnızca doğru hatırlıyorsam J veya N düğmesine basıldığında devam eder.
geisterfurz007

@ geisterfurz007 Ayrıca, varsayılan değer yerelleştirilir. Mesela, bana (Portekizce için (evet) ve (hayır) için ) choiceeşdeğerdir . choice /c SNsimnão
Ismael Miguel,

Ah, haklısın, @ geisterfurz007. Şimdi tüm alfabe numaralandırılmış toplu dosyalarıma nasıl saçma göründüğünü hatırlıyorum. Tamam, o zaman bu ölü bir fikirdi.
Manatwork

15

HTML + JavaScript (ES6), 36 + 25 = 61 bayt

Bir JavaScript programından gerçekten çıkamazsınız, bu yüzden web sayfasını temizlemek aklınıza gelebilecek en iyisidir.

onkeyup=_=>a.innerHTML=''
<a id=a>Press any key to continue...


HTML + JavaScript (ES6), 33 + 28 = 61 bayt

@LarsW tarafından yönlendirilen alternatif çözüm about:blank.

onkeyup=_=>location='about:blank'
Press any key to continue...


HTML / JavaScript, 60 bayt

Bağımsız JS'yi kullanmayan @Ismael Miguel'in başka bir harika çözümü . 1 bayt kaydedildi!

<html onkeyup=this.innerHTML=''>Press any key to continue...


HTML + JavaScript (ES6), 26 + 28 = 54 bayt

@George Reith tarafından başka bir çözüm de belge kullanımı yazıyor.

onkeyup=_=>document.open()
Press any key to continue...

HTML + JavaScript (ES7), 23 + 28 = 51 bayt

Önerilen ES7 bağlama operatörünü kullanan aynı program :

onkeyup=::document.open
Press any key to continue...


Bu çözümlerin çoğu benim değil, nezaket ve yorumlarınızı oy!


10
36 + 25 61 mi yoksa bir şey mi kaçırıyorum?

2
@LarsW, ckjbgames Peki, şansınız nedir? Yazana kadar asla bilemezsin! ;)
darrylyeo 23:17

2
<html onkeyup=this.innerHTML=''>Press any key to continue...<- 60 bayt. Deneyin jsfiddle.net/xhb69401 (hem çalışır <html>ve <body>)
İsmail Miguel

2
Belgeyi temizlemek için daha kısa yol ve bağlantıya gerek duymaz. onkeyup=_=>document.open()ile Press any key to continue...54 bayt büyük bir toplam için.
George Reith

2
Aynı zamanda önerilen es-bind operatörü ile azaltılabilir onkeyup=::document.open.
George Reith

14

MATL, 35 bayt

'Press any key to continue...'D0$Y.

açıklama

'Press any key to continue...'      % String literal
D                                   % Display the string (has trailing newline)
0$Y.                                % Pause until the user presses any key

@LuisMendo Ah iyi yakalamak
Suever

2
Öte yandan, Y.ya değil. Belki de OP netleşmeli. Control ve Caps-lock gibi anahtarlar çözümlerin çoğunda başarısız olur
Luis Mendo

1
@LuisMendo Kontrol tuşlarını, büyük harf kilidini, vb.
Özlemeniz iyidir

@LuisMendo Değişikliklerinizde bir giriş anahtarı gerekmez mi? Ya da belki yanlış hatırlıyorum
Suever

@Suever Oh, elbette! Giriş gerekli
Luis Mendo

11

TI-Basic, 55 bayt

Temel olarak, bir tuşa basılana kadar döngüler. Çok kötü küçük harfler, her biri TI-Basic'te iki bayttır ...

Disp "Press any","key to continuesin(
Repeat getKey
End

PS Bunun nasıl çalıştığına dair açıklama için @GoldenRatio tarafından yapılan yoruma bakınız. Bu dahi!


Öncelikle, bayt sayınız şu anda kapalı, yani 55 bayt (sadece TI-84 + 'da bir program hazırlandı ve test edildi). İkincisi, bu teknik olarak geçerli değil, çünkü göstermiyor Devam etmek için herhangi bir tuşa basın ... ve bunun yerine 15 karakter artı keser ... Bunun yerine, bayt sayısını koruyarak iki farklı komut verin. :Disp "Press any(unutmayın: kodunuzda sayılır) ve Disp "key to continuesin((Günah, yeni satır ve yer değiştirmeyi telafi etmek için 1 baytta bir zorlar) ve bu, herhangi bir ve anahtar arasında bir yer kazandırır)
Altın Oran

Beni yen, ilk düşündüğüm dil.
C Anderson

@GoldenRatio bahşişiniz için teşekkürler, sanırım getKeyaslında 1 yaşında 2 byte olduğunu düşünüyordum. Sanırım Text(ya Output(da hepsini tek bir satıra sığdırabilirsiniz. Ancak öneriniz daha iyi. Satır sonunda örtük elips kullanmayı düşünmedim. Tekrar teşekkürler, şimdi düzenleyeceğim.
Timtech

Bunu güncellemek için teşekkürler ve sanırım bir virgül ile disp kullanmanın nihayetinde iyi bir nedeni var, çünkü asla bayt kaydetmedi. Onları genellikle net butona çarpma eğilimimden dolayı ayrı satırlara koyarım: D. Ayrıca, büyüklüğü puanlamak için herhangi bir resmi yöntem var mı? Bununla ben 9 ı did bayt gerektiği anlamına değil bir program adı sayım için saymak? Ve başlangıç ​​kolonu için silinemeyen 1 bayt sayılmalı mı? Bunu 0 bayt olarak işaretledim, çünkü boşluk bulmak için program büyüklüğüne göre 10 çıkarmaya alışkınım, ama belki de kolon sayılmalıdır.
Altın Oranı

Hayır, temelde tamamen boş bir program yaparsanız, 0 bayt sayılır, sonra oradan başlarsınız. Bu bir kaynak dosyanın dosya adını saymak gibi olur. Ayrıca, başlangıç ​​kolonu sadece şov içindir ve aslında programın bir parçası değildir. Aslında, her yeni satır hesap makinesinde editörde otomatik olarak bir nokta gösterir, ancak yine de bunlar sadece şov içindir (ne demek istediğimi görmek için cemetech sourcecoder'ı deneyin). Son olarak, bytecount, ikiden fazla çizgiyi ayırsak da yapmasak da aynıdır Disp(ancak, her zaman bu şekilde değildir).
Timtech

8

Bash, 46 43 42 bayt

@DigitalTrauma sayesinde 1 bayt kaydedildi

read -rn1 -p"Press any key to continue..."

Yerleşik kullanır read. -rkullanıcının kaçış girişi yapmasına izin vermediğinden emin olur. -n 1sadece bir karaktere izin verir. -pistemi


Ben bir <cr> 'ya gelene kadar devam etmiyor
Glenn Randers-Pehrson

@ GlennRanders-Pehrson Eğer bashınız desteklemiyorsa bunun olabileceğine inanıyorum -n 1. Ancak isabetsiz giriş benim için (v3.2.57) ve borçlu makinemde (v4.3.30)
giriyor

Bir teklif (")
yazarsam

1
Satırı bir dosyaya (anykey.sh) koyarsam ve çalıştırırsam tamam işe yarar. "-Rn" ve "1" arasındaki boşluğu temizlesem bile iyi çalışıyor.
Glenn Randers-Pehrson,

1
-rn11 byte tasarruf sağlar
Digital Trauma,



4

QBasic ( QB64 ), 37 (42?) Bayt

Ne yazık ki, QBasic'in yerleşik program sonu isteminde üç nokta bulunmuyor, bu yüzden kendimiz yazdırmak zorunda kalacağız:

?"Press any key to continue..."
SLEEP

( SLEEPtartışma olmadan bir tuşa basana kadar bekler.)

Bu kod, kelimenin tam anlamıyla sorduğu şeyi yapar, ancak soruya uygun görünmüyor çünkü QBasic daha sonra "Devam etmek için herhangi bir tuşa basın" ifadesini görüntüler ve IDE'ye dönmeden önce bir tuşa basmayı bekler. +5 bayt için doğrudan IDE'ye gidenler:

?"Press any key to continue..."
SLEEP
STOP

STOPhata ayıklama ifadesidir. Düzenli QBasic'te bir kesme noktası belirler: yürütme durur ve IDE'ye geri döneriz, ancak yürütme F5 ile yeniden başlatılabilir. Programın "çıkarken" sayılacağı belirsiz. Ancak, kesme noktaları yapamayan QB64 öykünücüsünü kullanıyorum. Karşılaşmanın ardından STOP, durur - gereksiz "Herhangi bir tuşa basma" mesajı olmadan doğrudan IDE'ye geri döner.


Garip bir şekilde, 'Devam etmek için herhangi bir tuşa basın', bağımsız bir QB64 exe çalıştırırken de görüntülenir. LOCATE
Ondan

4

İşlem, 89 81 bayt

void setup(){print("Press any key to continue...");}void draw(){if(key>0)exit();}

açıklama

void setup(){print("Press any key to continue...");}

Programımda birden fazla işlev kullandığım için bu gerekli. Her şey iç setup()bu durumda dize, çağrılan "Press any key to continue...".

if(key>0)exit();

key( keyHer zaman basılan son tuşun int değerini her zaman içerecektir) değerinden daha büyük olup olmadığını denetler 0(yani boş bir bayt değil). Koşul yerine getirilirse program sona erer.

void draw(){}

draw() Program başladığında programın durmak yerine her zaman bir anahtar aramaya devam etmesini sağlar.

(Java benzeri bir dilde bir yerleşik hala ayrıntılı olduğunda bu hissediyorum ...)


Ben yok gerçekten İşleme biliyorum ama değiştirmek mümkün olmalıdır düşünüyorum void steup(){...}ilestatic{...}
Pavel

2
@PelPel Noope, çalışmıyor
Kritixi Lithos

4

Pascal, 75 65 bayt

Bu, Sürüm 3.0.0 olan Free Pascal Compiler ile test edildi.
TurboPascal 7 veya daha yenisiyle çalışabilir.

uses Crt;begin write('Press any key to continue...');readkey;end.

Ne yazık ki, yerini alamaz readkeyile readlnmeydan gerektirir çünkü herhangi tuşa kabul edilmeyecektir.


Bu kodu http://rextester.com/l/pascal_online_compiler adresinde bir giriş sağlayıp sağlamadan test ettim .
Beklendiği gibi, program 10 saniye sonra sonlandırılıyor, çünkü hiçbir zaman gerçekleşmeyen bir tuşa basmayı bekliyor.


Bana yanlış yaptığımı ve ihtiyacım olmadığını gösterdiğim için 10 bayt kurtardığım için @ manatwork sayesinde program _;.


Ne FreePascal ne de TurboPascal programanahtar kelimenin kullanılmasını gerektirmez . (Aslında ben böyle bir eski uygulama ile hiç karşılaşmadım.)
Manatwork

@ manatwork Olmadan denedim programve şikayet etti. Ayrıca bazen TurboPascal kullanıyorum. Bu, onu gerektirir (dikkat: gerektirir ) program. Nerede çalıştığını test edebileceğim bir yer biliyorsanız program, onu kaldıracağım. Orada olmaktan nefret ediyorum. Ve bu uses Crt;.
Ismael Miguel

1
Seni anlamıyorum Bağladığınız rextester hizmeti de dahil olmak üzere iyi çalışıyor. Komut satırında: pastebin.com/pVr9dqxd
manatwork

@ manatwork Haklısın. Neden şikayet ettiğini biliyorum: program;Aslında bu parçayı kaldırmak yerine yazdım . Beni uyardığın için teşekkürler.
Ismael Miguel,

4

Karalama, 81 bayt

görüntü

when gf clicked
say [Press any key to continue...
wait until <key [any v] pressed

( Çizilmezler bağlantısı )

Eğer durdurmak için isteseydi tüm (diğer dişler de dahil) bir anahtar basıldığında programı bir eklemek olurdu stop all. Say iletişim kutusundan kurtulmak istiyorsanız boş bir saybloğa ihtiyacınız vardır ( stop allaynı zamanda çalışır).

Scratch'ın bunun için yerleşik olduğu kullanışlı!


4

Bash 48 44 42 bayt

read -rn1 -p"Press any key to continue..."

@ mame98 4 bayt kaydettiğiniz için teşekkür ederiz.

@RaisingAgent 2 bayt kaydettiğiniz için teşekkür ederiz.


Bayrakları ekleyerek read -srn1 -p"..", promosyon teklifindeki son boşluğu beğenerek ve kaldırarak bunu iyileştirebilirsiniz . Ayrıca, 's' bayrağına ihtiyacınız olup olmadığından emin değilim
mame98

1
tırnak işaretleri içindeki son boşluğu kaldırın _&-s
RaisingAgent

@RaisingAgent Teşekkürler, güncellendi :)
Abel Tom

3

R, 56 bayt

cat('Press any key to continue...');keypress::keypress()

Bu Linux ve OSX terminallerinde çalışır.


3

Yakut (2.3) (+ Toplu), 52 55 54 53 46 bayt

Şimdi Alexis Andersen sayesinde 46 bayt.

Not: Herhangi bir pausekomut yoksa, Windows'ta test edilmiştir .

puts"Press any key to continue...";`pause>nul`

açıklama

Puts gerekli metin:

puts"Press any key to continue..."

Satırı sonlandır:

;

Toplu iş pausekomutunu ve boru çıkışını aşağıdaki gibi çalıştırın nul:

`pause>nul`

Merhaba, PPCG'ye hoş geldiniz. Gönderinizin gövdesinde bir düzenleme listesi bulunduğunu görüyorum. Bu diğer sitelerde alışılmış olsa da, herhangi biri bir yayının düzenleme geçmişini görebildiğinden, genellikle yazının geçmişini vücuttan hariç tutarız (bayt sayısı için yapılan grevden başka). Bu iyi bir ilk golf gibi görünüyor ve umarım burada eğlenirsiniz.
Buğday Sihirbazı

@WheatWizard Teşekkürler, düzenlemeleri orada bırakmalı mıyım veya kaldırmalı mıyım?
notme1560,

1
Bunları kaldırırsanız ve ben şahsen bunu tavsiye edersem çok daha okunabilir bir cevap verdiğini düşünüyorum.
Buğday Sihirbazı

sistemi backtick'lerle değiştirerek kısaltabilirsiniz: ` pause>nul` veya hatta daha kısa, sadece kullanım alır (ayrıca, yorumda bir kod bloğuna backtick eklemenin iyi bir yolu yoktur)
Alexis Andersen

@AlexisAndersen getsgirmek için beklemiyor ve sadece herhangi bir tuşa değil mi?
notme1560,

3

Java, 127 bayt

class P{public static void main(String[]a)throws Exception{System.out.print("Press any key to continue...");System.in.read();}}

Not: Bunun çalışması için konsolun ham moda ayarlanması gerekir .


Sonra korkarım kodunuzu gibi, bu yüzden konsolu belirlesin original.legin 'ın Perl çözümü yok.
Manatwork

@ manatwork Also, the program must be fairly portable (i.e no OS-specific headers or modules, runs outside of an IDE, etc.)Eğer bu SO bağlantısını takip ederseniz, bunu yapmak için OS bağımsız bir yolu yoktur. Yani, bağladığın cevap bu kadar eşit.

3

SmileBASIC, 52 bayt

?"Press any key to continue...
WHILE""==INKEY$()WEND

3

Python 2,110 bayt

import curses as c
s=c.initscr()
c.cbreak()
s.addstr(0,0,'Press any key to continue...')
while not s.getch():1

2

Mathematica, 62 bayt

EventHandler["Press any key to continue...","KeyDown":>Exit[]]

açıklama

EventHandler["Press any key to continue...","KeyDown":>Exit[]]
EventHandler[                                                ]  (* Create a new EventHandler *)
             "Press any key to continue..."                     (* Print the dialog text *)
                                            "KeyDown":>Exit[]   (* When a key is pressed down, exit *)

2

SmileBASIC, 55 bayt

?"Press any key to continue..."@L IF INKEY$()!=""GOTO@L

Açıklaması:

?"Press any key to continue..."  '? means PRINT
@L                               'start of loop
IF INKEY$()!="" GOTO @L          'if no key pressed goto @L

WHILE""==INKEY$()WENDdaha küçük
12Me21

2

Python 2/3 POSIX, 85 bayt

import sys,tty
print('Press any key to continue...')
tty.setraw(1)
sys.stdin.read(1)

2

Python 3, 65 bayt

Python'un Windows sürümünü gerektirir.

from msvcrt import*
print("Press any key to continue...")
getch()

msvcrt.getch (), enter () gibi enter tuşunun basılmasını beklemez, basılan ilk tuşa geri döner.

Msvcrt.getch () için Python Belgeleri: https://docs.python.org/3/library/msvcrt.html#msvcrt.getch

Bazı baytları kaydetmek için @Fliptack'a teşekkürler


Bu cevap başka bir import msvcrtyerde olmadan geçersiz
FlipTack

2
Bu kod-golf olduğundan, yorumları kodunuzdan çıkarmalısınız. Ayrıca, from msvcrt import* kullanım 1 bayt daha kısa görünüyor
FlipTack

serin, thx @FlitTack
Zachary Smith

2

Node.js, 102 101 99 bayt

with(process)stdout.write('Press any key to continue...'),s=stdin,s.setRawMode(1),s.on('data',exit)

Fazla kazanç yok, sadece 1 karakter daha kısa with: pastebin.com/BhrAyq2K
manatwork

@ manatwork Güzel bir tane! İlk kez withbeni bayt (veya bayt) kurtardı
George Reith

1
Artık kıvrımlı parantezleri kaldırabilir ve satır sonlarını 2 bayt için virgüllerle değiştirebilirsiniz.
darrylyeo

Ayrıca yanılmıyorsam, stdout.write`Press any key to continue...`ES6'da 2 bayt kaydeder.
darrylyeo

@ darrylyeo Virgül çalışması şahane teşekkürler! Maalesef etiketli bir şablon değişmezi gerçekten bir diziden geçtiği için kullanılamaz ve process.stdout.writedizgiye dolaylı dönüşümler yapmaz (sadece hatalar).
George Reith

2

Sinclair ZX81 / Timex TS1000 TEMEL: Yöntem 1 yaklaşık 41 bayt

1 PRINT "PRESS ANY KEY TO CONTINUE..."
2 GOTO (INKEY$<>"")+VAL "2"

Yöntem 2 yaklaşık 38 BYTES

1 PRINT "PRESS ANY KEY TO CONTINUE..."
2 PAUSE VAL "4E4"

ZX81'deki gibi yöntem 1'i tercih ediyorum PAUSE, çağrıldığında bir ekran titriyor ve yeterince uzun istiyorsanız (ZX81'in fazla ısınmamasını veya çökmemesini sağlayarak) duraklama sonunda sona erecek, ancak yöntem 1'in içinde sıkışmış bir tuşa basılana kadar sonsuz bir döngü ve ekran titremez.

Bana söyleyecek doğru BASIC bitiminde kullandığım doğru bayt sayısını hesaplayacağım. Bu arada, sayı yerine VAL "x" kullanmak ZX81'de değerli RAM tasarrufu sağlıyor (bunun ZX Spectrum için de aynı olduğunu düşünüyorum).


Her iki yöntem de Sinclair ZX Spectrum üzerinde çalışacak, avantaj Spectrum'un büyük ve küçük harflere sahip olması, oysa ZX81 varsayılan olarak değil (ve standart bir karakter olarak tek bir alıntı içermiyor).
Shaun Bebbers

Sinclair ZX Spectrum'daki Yöntem 2 yoğunlaşabilir1 PRINT "Press any key to continue...": PAUSE 4e4
Shaun Bebbers

1
PAUSE 0sonsuza dek duraklar.
Neil

Evet, Sinclair Spectrum BASIC’te bu kadar süredir unuttum. PAUSE 0ZX81'de BASIC sonsuza dek duraklamaz.
Shaun Bebbers

1

Perl 5, 79 bayt

system "stty cbreak";$|=1;print "Press any key to continue...";read(STDIN,$a,1)

olarak kullanılan:

perl -e 'system "stty cbreak";$|=1;print "Press any key to continue...";read(STDIN,$a,1)'

Elbette ödüller yok. Eminim perl insanın daha iyi bir yolu olur.

(Tercüman çağrısı da sayıma dahil edilmesi gerekiyorsa 89 bayt)


@Pavel, bayt sayısında saydı system, bu yüzden bu yorumla ne demek istediğini anlamadım.
Dada

1
@ original.legin Bence Perl bundan daha iyisini yapmayacak. Birkaç byte golf hala edebilirsiniz: $|=1, sen sonra boşluk değil gerekli olması edilir print, sen argümanları etrafında parantez bırakabilirsiniz readyerine sistemin komutu ters tırnak kullanın ve son olarak yapabilirsiniz, printbunu kullanmak yerine, böylece 1 döner edebî 1çağrısında read. Sonunda, biz alırız:perl -e '`stty cbreak`;read STDIN,$a,print"Press any key to continue..."'
Dada

@Dada sayBu yaklaşımın "taşınabilir" gereksinimi karşılamamasına rağmen, 2 bayt ile de tıraş edebilirsiniz . Bulabileceğim en iyi taşınabilir çözüm perl -MTerm::ReadKey -E'say"Press any key to continue...";ReadMode 3;ReadKey'(52 bayt + 16 bayt -MTerm::ReadKey<space>). Dikkatli olun, sonunda okuma modunu geri yüklemediğiniz sürece bu terminalinizi bozacaktır ReadMode 1.
KıyafetSiyahBeğen

1
@BuSuitIsBlackNot Gerçekten, taşınabilirlik ile ilgili bu şartı görmedim. Hakkında say, artık kullanmama eğilimindeyim (çoğunlukla bu meta gönderiye katılıyorum ). Şimdi kısa bir koda dönüş, (40 + 13 = 53 bayt): IO::Promptdeğerinden daha kısa olacaktır . Ve olduğu gibi, önceki yorumumda önerdiğimden daha da kısa. Term::ReadKeyperl -MIO::Prompt -e 'prompt"Press any key to continue... ",-1'
Dada

1
@Dada Argümanın iki tarafını da görebiliyorum -E. En son kontrol ettiğimde, JB'nin cevabı dört yıl boyunca tartışılmamıştı, bu yüzden takip ettiğim buydu. Belki tekrar ziyaret etmeliyim. IO :: İstemi gelince, iyi bul! Strawberry 5.20.2'de Windows'ta çalışmıyor olmasına rağmen, Terim :: ReadKey çalışıyor.
KıyafetSiyahBeğen

1

PHP, 73 bayt

echo"Press any key to continue...";$h=fopen("php://stdin","r");fgets($h);

PHP etkileşimli kabuğunda ( php -a) çalıştırın


“Bir tuşa basıldıktan sonra programı hemen çıkmalısınız.” - Bu Enter kadar bekler veya karartma ...
manatwork

1

C #, 101 bayt

using C=System.Console;class P{static void Main(){C.Write("Press any key to continue...");C.Read();}}

Linux'ta test edilmiş, .NET kütüphaneleri ve Ortak Dil Çalışma Zamanı olan herhangi bir sistemde çalışmalıdır.

Ungolfed programı:

using C = System.Console; // creating a shorter alias for the System.Console class

class P
{
    static void Main()
    {
        C.Write("Press any key to continue...");    // prints the message
        C.Read();   // waits for key press
    }
}

CTRL, ALT, SHIFT yoksayılır. Yazdırılabilir ise, basılan tuş ekranda yankılanacaktır.

Echo, 6 daha fazla bayt pahasına C.Read () yerine C.ReadKey (0 <1) ile değiştirilerek devre dışı bırakılabilir .


1

8 , 47 bayt

"Press any key to continue..." . cr con:key bye

Bu program ctrl, alt, caps lock gibi tuşları dikkate almaz. Harf, rakam, simge ve enter gibi tuşlardan çıkar.

açıklama

"Press any key to continue..." . cr \ Print message 
con:key                             \ Wait for key input from console  
bye                                 \ Quit program 

Sadece Windows'ta 3 bayt atlayarak tasarruf edebilirsinizcr
Chaos Manor

1

C #, 29 bayt

class P{static void Main(){}}

Bunun geçerli sayıldığından emin değil çünkü yazdırıyor:

Devam etmek için herhangi bir tuşa basın . . .

Ancak bunu da basan bir Toplu cevap var.


1

İleri (gforth), 39 bayt

." Press any key to continue..."key bye

(Evet, zaten bir 8. çözüm var ama bu daha kısa)

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.