Hallo Weltfenster

22

Erstellen Sie ein Fenster, in dem "Hallo Welt" und nichts anderes steht. Sie können keine OK- oder Abbrechen-Schaltflächen im Inneren haben. Es muss nur ein einfaches Fenster sein, das Hallo Welt sagt. Ich interessiere mich nicht für den Inhalt des Fensterrahmens oder das Aussehen des Fensters, sondern muss nur Hallo Welt sagen.

Beispiel:
Bildbeschreibung hier eingeben

Kürzester Code gewinnt.

EDIT: Es tut mir leid Johannes Kuhn das Fenster muss eigentlich dort bleiben, es darf nicht gleich schließen. Ich habe nicht an dieses Szenario gedacht und als solches nicht berücksichtigt.

BEARBEITEN 2: Wir haben derzeit 3 ​​gebundene Antworten (20 Zeichen). Vorschläge, wer der Gewinner sein sollte, sind willkommen.

Quillion
quelle
1
Muss das Fenster groß genug sein, um den Text beim Öffnen anzuzeigen, oder ist es in Ordnung, vom Benutzer eine Größenänderung des Fensters zu verlangen?
Iszi
Es muss nicht groß genug sein, um den Text anzuzeigen, es muss nur ein Fenster sein, das heißt, es muss nur ein Container sein, der Text enthält und erst geschlossen wird, wenn der Text dazu aufgefordert wird.
Quillion
Ich kann es so kurz machen wie Sven, aber mit OK und Abbrechen Tasten :(
Teresa e Junior
Sieht so aus, als gäbe es jetzt mit 19 eine Bash-Antwort.
Iszi
2
Kann ich eine VB 6-Lösung mit einem Label mit "Hello World" erstellen? 0 Code Lösung?
Cruncher

Antworten:

13

Bash 20 19 Zeichen

Danke @manatwork für den nutzlosen Platz danach -p!

read -pHello\ World

In Aktion:

echo 'read -pHello\ World' >/tmp/helloworld.sh
chmod +x /tmp/helloworld.sh

Als Doppelklick aus dem Dateimanager:

Bildbeschreibung hier eingeben

Und sehen:

Bildbeschreibung hier eingeben

Mit als Standard - Shell.

19 16

Als Fragestellung stehen nur Hallo Welt und sonst nichts , das Fenster muss aber nichts wie Text nur einmal drucken oder so weiter, ich finde diese Match-Anforderung auch!

yes Hello\ World

Es gibt nur 16 Zeichen.

echo >/tmp/helloworld.sh 'yes Hello\ World'

Mit der gleichen Prozedur erhalten Sie:

Bildbeschreibung hier eingeben

F. Hauri
quelle
1
Scheint mir GNOME zu sein.
Pierre Arlaud
2
Ich denke, dass der Teil "Ausführen im Terminal auswählen" mindestens 1 Byte betragen sollte. Ähnlich den Regeln für Optionen, die beim Ausführen einer Codegolf-Lösung an Interpreter übergeben werden.
Bakuriu
1
@Bakuriu Je nach persönlichen Verwendungen, Sie könnten Sie konfigurieren Window - Manager , um nicht zu fragen , und alle Tage unter einer Shell oder Terminal Ihrer Wahl ... (unter MS-Fenster Ich denke , es ist Standard) laufen
F. Hauri
2
@ Bakuriu wie die Installation von HQ9+Interpreter, .hq9+als Mime-Kapazität hinzufügen : Laufen HQ9+in einem Terminal- Fenster. Die Herausforderung könnte also auf 1 Byte reduziert werden. Diese Antwort basierte auf früheren Antworten, bei denen Batch oder Powershell verwendet und ein Betriebssystem ausgeführt wurde, das standardmäßig diese Art von Trick verwendet.
F. Hauri
3
@JohannesKuhn Bist du verrückt! Es sind nicht mehr als 2 ° C außen! Es ist zu kalt!!
F. Hauri
23

Windows-Eingabeaufforderung, 26

echo Hello World>.hta&.hta

Bildbeschreibung hier eingeben

Danko Durbić
quelle
Das ist fantastisch. Bonuspunkte für das Laichen von zwei Fenstern?
Gusdor
@Gusdor Was meinst du? Ich sehe hier nur ein Fenster.
Iszi
@Iszi Ich bin davon ausgegangen, dass die Batch-Datei vom Desktop ausgeführt und nicht eingegeben wurde. Hoppla!
Gusdor
@ Gusdor Ich denke, deshalb nannte er es "Windows-Eingabeaufforderung" anstelle von "Batch". Andernfalls würde es sowieso auf Johannes Antwort verlieren.
Iszi
1
@Iszi: Es öffnet sich ein neues Fenster, so spielt es keine Rolle , ob der Befehl in einem anderen Echo wird ...
Ry-
15

R 23

plot(1,m="Hello World")

Dies öffnet ein Plotfenster.

Sven Hohenstein
quelle
+1. Sie können sub=sich s=dank teilweiser Zuordnung jedoch verkürzen .
Plannapus
@plannapus Danke, gute Idee! Ich habe meinen Code geändert.
Sven Hohenstein
Sven, dies gibt nicht "Hallo Welt drinnen und nichts anderes" aus :) Ich nahm an einer ähnlichen Herausforderung teil und es musste anders gemacht werden, siehe codegolf.stackexchange.com/a/19807/2800
Tomas
1
@Tomas Diese Herausforderung ist anders. Aus der Frage: " Mir ist der Inhalt des Fensterrahmens egal ".
Sven Hohenstein
Nun, aber es geht nicht um den Rahmen, sondern auch um die Bezeichnung der Textachse "Index", die Zahlen usw.
Tomas
14

Dyalog APL (20)

⎕SM←'Hello World'1 1

Bild: Bild

Marinus
quelle
1
Spezielle Charaktere!?! HAXXX!
AJMansfield
11

Powershell, 23

'Hello World'>.hta;.hta

Bildbeschreibung hier eingeben

Danko Durbić
quelle
Nett! Schlägt meine "echte" Lösung und ist nur 3 Zeichen länger als die Shortcut-Methode. Es ist jedoch fraglich, ob dies wirklich nicht viel besser ist, als es nur als Hello WorldHTML zu bezeichnen, denn genau das haben Sie getan. Sie haben es gerade mit PowerShell erstellt und ausgeführt.
Iszi
11

HTML (irgendwie), 17

data:,Hello World

Fügen Sie das in die Adressleiste Ihres Browsers ein.

Javascript, 25

open("data:,Hello World")

Dies verwendet Ihren Browser window.openund einen Daten-Uri.

Mime-Typ und Zeichensatz eines Daten-URIs werden standardmäßig text/plain;charset=US-ASCIIweggelassen.

Javascript, 19

eval($("s").text())

Diese funktioniert nur, wenn diese Antwort die beste (oder akzeptierte) Antwort ist und auf DIESER Stackoverflow-Seite (über Ihre JavaScript-Konsole) ausgeführt wird. :-)

offen ("Daten: Hallo Welt");

David Murdoch
quelle
Lustiger Trick. Aber leider hängt es von der Reihenfolge der Beiträge ab, die variieren kann.
Handarbeit
1
Nun, es wird funktionieren, solange es die akzeptierte Antwort ist (und die Frage hat kein "<s>")
David Murdoch
Lol. Ich muss für Ihren Optimismus stimmen.
Manatwork
Kannst du mir bitte erklären, wie das geht? Ich verwende Chrome und habe versucht, es auf der Konsole auszuführen, aber ich verstehe Unexpected token ILLEGAL. Müssen Sie die beste Antwort sein, damit dies funktioniert?
Quillion
Ja, es muss die beste Antwort sein, damit es funktioniert. ODER ich könnte die Frage selbst so bearbeiten, dass sie den erforderlichen <s>open("data:,Hello World");</s>HTML-Code enthält, aber das könnte ein bisschen zu viel Betrug bedeuten. :-p
David Murdoch
9

Matlab, 30, 27, 20

title('Hello World')

Sind Grundstücksfenster erlaubt? Es hat keine Tasten im Inneren.

Sven Hohenstein
quelle
Ja Handlungsfenster ist in Ordnung :) Solange es Fenster ist, ist es mir egal
Quillion
Die Zahl ('Name', 'Hallo Welt') ist kürzer
magu_
@ Magu_ Gute Idee. Aber ich nehme an, es ist gegen die Regel "ein Fenster, das Hallo Welt drinnen sagt ".
Sven Hohenstein
1
@SvenHohenstein Hm, vielleicht. Zumindest etwas Nützliches zu sagen: Sie brauchen das (1) nicht unbedingt. Verkleinern Sie den Code um 3 Zeichen.
magu_
1
Das braucht man eigentlich nichtfigure;
Torbjørn T.
9

Java, 117 Zeichen

import java.awt.*;class C{public static void main(String[]a){new Frame(){{add(new Label("Hello World"));show();}};}}

Mit Formatierung:

import java.awt.*;

class C {
    public static void main(String[] a) {
        new Frame() {
            {
                add(new Label("Hello World"));
                show();
            }
        };
    }
}

Es kann vermieden werden, dass eine Variable explizit deklariert werden muss, indem Initialisierungsblöcke in einer anonymen Unterklasse von Frame verwendet werden. Interessanterweise sind es mit awt genauso viele Zeichen import java.awt.*;wie mit awt, um beide Klassennamen vollständig zu qualifizieren.

Swilliams
quelle
8
Sie können anrufen, argswas Sie wollen; aist ausreichend.
Daniero
@ Daniero danke für den Vorschlag, ziemlich dumm von mir, das zu verpassen :)
Swilliams
1
s/class/enum/
Thomas Eding
like @ThomasEding Hinweise zum Ersetzen der Klasse durch Enum rasiert ein Byte ab
masterX244
@ masterX244 Das ist syntaktisch nicht korrekt, es sei denn, vor dem wird ein Semikolon eingefügt public static..., um die Liste der Aufzählungskonstanten zu beenden ... siehe stackoverflow.com/questions/7318011/… . In beiden Fällen erhalten Sie die gleiche Anzahl von Zeichen.
Swilliams
7

Mathematica 29 27 25

Mit 1 Byte dank CatsAreFluffy gespeichert.

DialogInput@"hello world"

Hallo Welt

DavidC
quelle
CreateDialogist kürzer.
Alephalpha
Vielen Dank. Ich dachte, CreateDialog würde eine OK-Schaltfläche einfügen.
DavidC
DialogInputist 1 Byte kürzer
CalculatorFeline
Ja, danke und die geschweiften Klammern sind auch unnötig.
DavidC
5

Schale, 32

xmessage -buttons '' Hello World
Hasturkun
quelle
1
Es gibt einen 1 Zeichen kürzeren Weg: xterm -e 'read -p Hello\ World'.
Manatwork
Meins wäre viel kürzer gewesen, wenn ich nicht hätte -buttons '':(
Hasturkun
@Hasturkun Ich stimme zu, aber ich musste hinzufügen, dass die Schaltflächen nicht mehr benötigt werden, da Javascript mit der entsprechenden Warnung oder einer anderen Verknüpfung wie dieser gewinnen würde, und ich dachte, dass dies zu unfair und zu einfach wäre, insbesondere für einige andere Sprachen.
Quillion
@Hasturkun, ohne die No-Button-Einschränkung zählt Ihre xmessage Hello WorldLösung nur 20 Zeichen, aber dann cmdwürde Windows Sie mit msg * Hello Worldnur 17 Zeichen schlagen . Also sei dankbar für die Einschränkung. :)
manatwork
5

Rubin mit Schuhen , 28

Shoes.app{para'Hello World'}

Ergebnis:

Bildschirmfoto

Türknauf
quelle
5

Python 2/3, 54 Zeichen

Setzen Sie das t in tkinter in Großbuchstaben, damit es in Python 2 funktioniert.

__import__("tkinter").Label(text="Hello World").pack()
Ramchandra Apte
quelle
wenn ich versuche , dass ich bekommen: AttributeError: Label instance has no attribute 'show'. Allerdings __import__("Tkinter").Label(text="Hello World").pack()gibt mir den gewünschten Effekt.
Plannapus
@plannapus Eigentlich hatte ich eine frühere Version mit diesem Fehler kopiert, nicht die richtige. Vielen Dank.
Ramchandra Apte
4

Windows Batch, 23

@pause|echo Hello World
  • Öffnet ein schwarzes Fenster, das zeigt Hello World, sonst nichts.
  • Jetzt bleiben die Fenster offen
  • Es gibt keine Schaltflächen im Fenster.
Johannes Kuhn
quelle
2
Voraussetzung ist: ein Fenster erstellen, nicht den Fenstermanager zwingen, ein Fenster zu erstellen
F. Hauri
4
@ F.Hauri Ok, ich werde mal schauen, wie man einen Fenstermanager schreibt. Betrachten Sie alle Posts als Verstoß gegen Ihre Anforderungen, bis jemand sie veröffentlicht.
Johannes Kuhn
1
Wie in der Op angegeben, spielt es keine Rolle, wie das Fenster aussieht. Wenn es sich um ein Grundstücksfenster oder ein Schalenfenster handelt, wen interessiert das?
Johannes Kuhn
5
Ich stimme absolut zu :) jetzt ist dies absolut akzeptabel, weil es ein Fenster ist und es sagt Hallo Welt :) Gut gemacht, ich liebe es
Quillion
1
@JohannesKuhn PowerShell kann es immer noch schlagen. Edit steht an.
Iszi
4

Rebol 2, 29

view layout[txt{Hello World}]

Bildbeschreibung hier eingeben

Izkata
quelle
4

ExtJS (Javascript) 44

new Ext.Window({html:'Hello world',}).show()

F. Hauri
quelle
3

Tcl / Tk, 34

pack [label .l -text Hello\ World]
Johannes Kuhn
quelle
3

AutoHotkey, 26

GUI,Add,Text,,Hello World!
Broseph
quelle
3

AutoIt v3, 32

ToolTip("Hello World")
Sleep(9^9)
Chris
quelle
Wäre nicht MsgBox(0,"","Hello World")kürzer? Es sind 26 Zeichen.
Mr. Llama
Es müssen keine Schaltflächen "OK" oder "Abbrechen" im Fenster vorhanden sein. Der von Ihnen vorgeschlagene Code hat eine OK-Schaltfläche. :(
Chris
Ah Bälle, ich habe diese Anforderung verpasst.
Mr. Llama
3

HTML, 11

Hello World

Bildschirmfoto:

HTML Hallo Welt

Ich denke, das sollte nicht zählen, aber ich denke, es wäre interessant, eine solche Antwort hier zu sehen.

Alvin Wong
quelle
3
Ich bin damit einverstanden, dass es nicht zählen sollte. Dasselbe kann durch Laden einer einfachen TXT-Datei in den Browser erreicht werden.
Iszi
Deine Zählung ist aus, das sind 20 Zeichen.
Jmoreno
2
@Iszi ohne HTML-Tags, dies wird wirklich nur als reine Textdatei gerendert. Ich würde argumentieren, dass Sie es nicht einmal eine HTML-Einreichung ohne <html> </ html> nennen können
Cruncher
@Cruncher Google Chrome fügt tatsächlich ein HTML-Skelett mit einem hinzu, <pre>das den Inhalt der Datei enthält (Sie können Chrome-Entwicklungstools verwenden, um dieses Verhalten zu überprüfen).
ComFreek
1
@Cruncher Nun, vielleicht, wenn Sie IE6 verwenden, aber in jedem modernen Browser, können Sie die <html>Tags sowie die <body>und <head>Tags weglassen , und der Browser wird automatisch das "Skelett" ausfüllen. Versuchen Sie es zum Beispiel <div style="background:#ff0">Hello</div>in einem modernen Browser, der allgemein "Hallo" mit gelbem Hintergrund darstellt.
Braden Best
3

PowerShell: 162 124 114 oder 20


Der weite Weg

($t=($a='New-Object Windows.Forms')+".Label"|iex).Text='Hello World';($x=iex $a".Form").Controls.Add($t);$x.Show()

Da PowerShell über keine integrierte GUI-Funktionalität verfügt, fällt es mir schwer, eine kürzere Version zu finden, die meines Erachtens dem ursprünglichen Geist der Herausforderung entspricht. (Oder passt zumindest in die Parameter, von denen einige von uns angenommen haben, dass sie impliziert sind.)

Bildbeschreibung hier eingeben

Änderungen gegenüber dem Original:

  • Fenstergrößendefinition entfernt. Anscheinend ist es optional und die Standardeinstellung ist groß genug.
  • In den Kommentaren von SpellingD enthaltene Änderungen. Hinweis: Das Fenster, in dem sich der Spawn ereignet, hängt - Sie müssen PowerShell über den Task-Manager beenden.

Alternativer 20-Zeichen-Ansatz

Wenn wir einige vorausgesetzte Anforderungen entfernen, können wir diese Herausforderung auch nach Johannes Kuhn erfüllen :

'Hello World';for(){}

Speichern Sie als .ps1-Datei. Stellen Sie sicher, dass die ExecutionPolicy des Systems nicht signierte Skripts zulässt. Klicken Sie mit der rechten Maustaste und wählen Sie "Mit PowerShell ausführen".

Bildbeschreibung hier eingeben

Iszi
quelle
Show statt ShowDialog sollte es tun, oder?
istNotALie.
Show()funktioniert, aber lässt Sie das Fenster nicht schließen. Welches ist keine Voraussetzung!
Rechtschreibung
Meine Bearbeitung zum Golfspielen wurde abgelehnt, und mein Code ist nicht unterschiedlich genug, um eine neue Antwort zu rechtfertigen. ($t=($a='New-Object Windows.Forms')+".Label"|iex).Text='Hello World';($x=iex $a".Form").Controls.Add($t);$x.Show()
Rechtschreibung
@SpellingD Danke. Ich habe Ihre Änderungen in die "echte" Lösung übernommen und eine "billige Methode" hinzugefügt, die derzeit alle Konkurrenten übertrifft. (Mit Ausnahme von HQ9 + natürlich.)
Iszi
3

Faktor 36 Code + 23 Importe = 59

USING: ui ui.gadgets ; "Hello World" <label> "" open-window

Wenn dies im Listener ausgeführt wird, werden die Importe automatisch durchgeführt. Sie benötigen sie nur, um eine eigenständige ausführbare Datei bereitzustellen.

Jon Purdy
quelle
2

Groovy, 68 27

Konsole verwenden.

print"Hello World";for(;;);

Rahmen verwenden.

new java.awt.Frame(){{add new java.awt.Label("Hello World")}}.show()

Inspiriert von @swilliams Java Antwort.

FGreg
quelle
2

Verarbeitung, 37 Zeichen:

void draw(){text("Hello World",0,9);}

Verschiedene Dinge zur Reduzierung von Schlaganfällen:

  • Das Skizzenfenster wird standardmäßig erzeugt. Sie müssen es nicht manuell erstellen
  • Verwenden drawist kürzer als setup(obwohl der Text dann in jedem Frame neu gezeichnet wird)
  • Verwendet Standardgröße, Hintergrund, Füllung, Schriftart und Schriftgröße
  • Sie benötigen nicht alle 10 Pixel Höhe für den Text
AJMansfield
quelle
2

Bash (36 Zeichen)

xmessage -buttons "" "Hello World!"

Sieht beschissen aus, funktioniert aber wie gewünscht.

Bildbeschreibung hier eingeben

klingt.net
quelle
Die Regel "drinnen muss man nur Hallo sagen" wurde ausdrücklich hinzugefügt, um so einfache Lösungen zu vermeiden.
Manatwork
ok, das wurde behoben.
klingt.net
Jetzt ist es richtig, aber es gibt ein anderes Problem: Es wurde ein Duplikat von Hasturkuns Antwort .
Manatwork
1
Verdammt, zumindest habe ich einen Screenshot :)
klingt.net
2

Ghostscript 50

0 0 moveto/Courier 20 selectfont(Hello World)show

Könnte es mit einer 9-Punkt-Schrift zu 49 machen, aber es ist ein wenig schwer zu lesen.

Kann ein kleineres Fenster erzeugen, indem gs mit einem Geometrieargument für zusätzliche 8 Zeichen aufgerufen wird.

gs -g200x30 hello.ps
Luser Droog
quelle
2

C #, 72

class P{static int Main(){System.Console.Write("hello world");for(;;);}}

Basierend auf der Antwort von @Noctis. Ich hätte es als Kommentar vorgeschlagen, wenn ich genug Repräsentanten hätte.

Johnbot
quelle
2

Delphi - 73 62

uses Dialogs;begin MessageDlg('Hello World',mtCustom,[],0)end.

Bearbeiten Sie nach @manatwork und @Gareths Vorschlägen. Das bringt mich auf 62 Charaktere.

RD
quelle
Wie bekommst du die Anzahl der Charaktere? Der Code, den Sie gepostet haben, hat 77 Zeichen und das Minimum, auf das er reduziert werden kann, ist 64:uses Dialogs;begin MessageDlg('Hello World',mtCustom,[],0)end.
manatwork
1
Sie müssen Zeilenumbrüche als Teil Ihrer Zeichenanzahl zählen. Aus diesem Grund stehen viele Antworten auf dieser Website in einer Zeile.
Gareth
Ah, das wusste ich nicht. Ich werde meine Antwort bearbeiten.
RD
2

Shell-Skript: 56 Zeichen

convert -size 99x9 xc: -draw 'text 0,10 Hello\ World' x:

Beispielausgabe:

Hallo Welt

Mann bei der Arbeit
quelle
2

Ti84-Basic, 25

ClrHome
Disp "HELLO WORLD

Arduino, 27

Serial.print("Hello World")

Legen Sie dies in void setup()

Game Maker Language, 40

show_message_ext("Hello World","","","")

Ich bin mir ziemlich sicher, dass dies der kürzeste Weg ist, ohne Erweiterungspakete hinzuzufügen.

Timtech
quelle
Wenn Sie eine OK-Schaltfläche akzeptieren würden, show_message("Hello World")sind dies 27 Zeichen.
Timtech
Sehr neugierig, aber ich habe 2 (leichte) Bemerkungen zu Ihrem Ti84-Basic. 1: Konntest du das Finale nicht fallen lassen "? 2: Wenn Sie es in Bytes zählen, haben wir hier einen klaren Gewinner;)
ɐɔıɐɔuʇǝɥʇs
@Synthetica Ja.
Hab das
Ihre TI-BASIC-Antwort öffnet kein Fenster und gibt eher Groß- als Kleinbuchstaben aus.
Lirtosiast