Hola ventana del mundo

22

Crea una ventana que diga hola mundo adentro y nada más. No puede tener ningún botón de aceptar o cancelar dentro. Debe ser solo una ventana simple que dice hola mundo. No me importa el contenido del marco de la ventana o el aspecto de la ventana, pero en su interior solo debo decir hola mundo.

Ejemplo:
ingrese la descripción de la imagen aquí

El código más corto gana.

EDITAR: Lo siento, Johannes Kuhn, la ventana tiene que permanecer allí, puede que no se cierre de inmediato. No pensé en este escenario y, como tal, no lo tomé en cuenta.

EDIT 2: actualmente tenemos 3 respuestas vinculadas (20 caracteres). Cualquier sugerencia de quién debería ser el ganador es bienvenida.

Quillion
fuente
1
¿La ventana tiene que ser lo suficientemente grande como para mostrar el texto cuando aparece, o está bien exigirle al usuario que cambie el tamaño de la ventana?
Iszi
No tiene que ser lo suficientemente grande como para mostrar el texto, solo tiene que ser una ventana, lo que significa que este contenedor debe tener texto y no se cierra hasta que se le indique.
Quillion
Puedo hacerlo tan corto como el de Sven, pero con los botones Aceptar y Cancelar :(
Teresa e Junior
Parece que hay una respuesta Bash a los 19 ahora.
Iszi
2
¿Puedo hacer una solución VB 6 con una etiqueta con "Hello World"? 0 código de solución?
Cruncher

Respuestas:

13

bash 20 19 caracteres

¡Gracias @manatwork por el espacio inútil después -p!

read -pHello\ World

En acción:

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

Que hacer doble clic desde el administrador de archivos:

ingrese la descripción de la imagen aquí

Y ver:

ingrese la descripción de la imagen aquí

Tener como shell predeterminado.

19 16

Como la pregunta representa solo Hello World y Nothing más , la ventana debe permanecer pero nada como imprimir texto solo una vez , ¡creo que este requisito de coincidencia también!

yes Hello\ World

Solo hay 16 caracteres.

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

Con el mismo procedimiento esto da:

ingrese la descripción de la imagen aquí

F. Hauri
fuente
1
Me parece GNOME.
Pierre Arlaud
2
Creo que la parte "elegir ejecutar en terminal" debería contar, como mínimo , 1 byte. Similar a las reglas sobre las opciones pasadas a los intérpretes cuando se ejecuta alguna solución de codegolf.
Bakuriu
1
@Bakuriu Dependiendo de los usos personales, puede configurar su administrador de ventanas para que no pregunte y se ejecute siempre bajo algún shell o terminal de su elección ... (Creo que es predeterminado en MS-Window)
F. Hauri
2
A @Bakuriu le gusta instalar el HQ9+intérprete, agregando .hq9+como capacidad mime : ejecutar HQ9+en una ventana de terminal . Por lo tanto, el desafío podría reducirse a 1 byte. Esta respuesta se basó en respuestas anteriores, utilizando lotes o powershell y ejecutando un sistema operativo que utiliza este tipo de truco de forma predeterminada.
F. Hauri
3
@JohannesKuhn ¿Estás loco? ¡No hay más de 2 ° C en el exterior! ¡¡Esta muy frío!!
F. Hauri
23

Símbolo del sistema de Windows, 26

echo Hello World>.hta&.hta

ingrese la descripción de la imagen aquí

Danko Durbić
fuente
Esto es asombroso ¿Puntos de bonificación por generar dos ventanas?
Gusdor
@Gusdor ¿Qué quieres decir? Solo veo una ventana engendrada aquí.
Iszi
@Iszi Supuse que el archivo por lotes se ejecutó desde el escritorio, no se escribió. Whoops!
Gusdor
@Gusdor Creo que por eso lo llamó "Símbolo del sistema de Windows" en lugar de "Lote". De lo contrario, perdería la respuesta de Johannes de todos modos.
Iszi
1
@Iszi: Esto abre una nueva ventana, por lo que no importa si el comando se repite en una diferente ...
Ry-
15

R, 23

plot(1,m="Hello World")

Esto abre una ventana de trazado.

Sven Hohenstein
fuente
+1. Se puede acortar sub=en s=gracias a la concordancia parcial sin embargo.
plannapus
@plannapus Gracias, ¡buena idea! Modifiqué mi código.
Sven Hohenstein el
Sven, esto no imprime "hola mundo adentro y nada más" :) Estaba participando en un desafío similar y tenía que hacerse de manera diferente, ver codegolf.stackexchange.com/a/19807/2800
Tomas
1
@Tomas Este desafío es diferente. De la pregunta: " No me importa el contenido del marco de la ventana ".
Sven Hohenstein
Bueno, pero no se trata del marco, sino también de la etiqueta del índice del eje del texto, los números, etc.
Tomás
14

Dyalog APL (20)

⎕SM←'Hello World'1 1

Imagen: Imagen

marinus
fuente
1
¡¿¡Caracteres especiales!?! HAXXX!
AJMansfield
11

Powershell, 23

'Hello World'>.hta;.hta

ingrese la descripción de la imagen aquí

Danko Durbić
fuente
¡Agradable! Es mejor que mi solución "real" y tiene solo 3 caracteres más que el método de acceso directo. Sin embargo, es discutible que esto no sea realmente mucho mejor que solo usarlo Hello Worldsolo y llamarlo HTML, ya que eso es casi exactamente lo que has hecho. Acaba de usar PowerShell para compilarlo y ejecutarlo.
Iszi
11

HTML (un poco), 17

data:,Hello World

Pega eso en la barra de direcciones de tu navegador.

Javascript, 25

open("data:,Hello World")

Esto utiliza su navegador window.openy una uri de datos.

El tipo mime y el juego de caracteres de los URI de datos están predeterminados text/plain;charset=US-ASCIIcuando se omiten.

Javascript, 19

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

Esta solo funciona cuando esta respuesta es la respuesta superior (o aceptada) y se ejecuta en ESTA página de stackoverflow (a través de su consola JavaScript). :-)

abierto ("datos: Hola Mundo");

David Murdoch
fuente
Truco divertido Pero lamentablemente depende del orden de las publicaciones, que pueden variar.
trabajo de
1
Bueno, funcionará siempre que sea la respuesta aceptada (y la pregunta no tenga un "<s>")
David Murdoch
Jajaja Tengo que votar por tu optimismo.
trabajo de
¿Puedes explicar cómo funcionará esto, por favor? Estoy usando Chrome y he intentado ejecutarlo en la consola, pero me sale Unexpected token ILLEGAL. ¿Tienes que ser la mejor respuesta para que esto funcione?
Quillion
Sí, debe ser la mejor respuesta para que funcione. O bien, podría editar la pregunta en sí para incluir el <s>open("data:,Hello World");</s>HTML requerido , pero eso podría estar engañando demasiado. :-p
David Murdoch
9

Matlab, 30 27 20

title('Hello World')

¿Se permiten ventanas de parcela? No tiene ningún botón dentro.

Sven Hohenstein
fuente
Sí, la ventana de la trama está bien :) siempre que sea una ventana, no me importa
Quillion
la figura ('nombre', 'Hola Mundo') es más corta
magu_
@magu_ Buena idea. Pero supongo que va en contra de la regla "una ventana que dice hola mundo interior ".
Sven Hohenstein
1
@SvenHohenstein Hm, tal vez. Para decir al menos algo útil: no necesita el (1) necesariamente. Hacer el código 3 caracteres más pequeño.
magu_
1
En realidad no necesitasfigure;
Torbjørn T.
9

Java, 117 caracteres

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

Con formateo:

import java.awt.*;

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

Podemos evitar tener que declarar explícitamente una variable mediante el uso de bloques inicializadores dentro de una subclase anónima de Frame. Curiosamente, usando awt, son tantos caracteres import java.awt.*;como para calificar completamente ambos nombres de clase.

swilliams
fuente
8
Puedes llamar a argslo que quieras; aes suficiente.
daniero
@daniero gracias por la sugerencia, es bastante tonto de mi parte perder eso :)
swilliams
1
s/class/enum/
Thomas Eding
como @ThomasEding sugiere reemplazar la clase por enum afeita un byte
masterX244
@ masterX244 Eso no será sintácticamente correcto a menos que se agregue un punto y coma antes public static...de finalizar la lista de constantes de enumeración ... consulte stackoverflow.com/questions/7318011/… . En cualquier caso, terminas con el mismo número de caracteres.
swilliams
7

Mathematica 29 27 25

Con 1 byte guardado gracias a CatsAreFluffy.

DialogInput@"hello world"

Hola Mundo

DavidC
fuente
CreateDialogEs más corto.
alephalpha
Gracias. Pensé que CreateDialog insertaría un botón Aceptar.
DavidC
DialogInputes 1 byte más corto
CalculatorFeline
Sí, gracias, y las llaves también son innecesarias.
DavidC
5

Shell, 32

xmessage -buttons '' Hello World
Hasturkun
fuente
1
Hay un camino más corto 1 carácter: xterm -e 'read -p Hello\ World'.
manatwork
El mío habría sido mucho más corto si no tuviera que -buttons '':(
Hasturkun
@Hasturkun Estoy de acuerdo, pero tuve que agregar para eliminar el requisito de los botones porque javascript ganaría con su alerta u otro acceso directo como ese, y sentí que sería demasiado injusto y demasiado claro, especialmente para algunos otros idiomas.
Quillion
@Hasturkun, sin la restricción de ningún botón, su xmessage Hello Worldsolución cuenta solo con 20 caracteres, pero Windows cmdlo superaría con msg * Hello Worldsolo 17 caracteres. Así que agradece la restricción. :)
manatwork
5

Rubí con zapatos , 28

Shoes.app{para'Hello World'}

Resultado:

captura de pantalla

Pomo de la puerta
fuente
5

Python 2/3, 54 caracteres

Capitalice la t en tkinter para que funcione en Python 2.

__import__("tkinter").Label(text="Hello World").pack()
Ramchandra Apte
fuente
cuando trato de que me sale: AttributeError: Label instance has no attribute 'show'. Sin embargo __import__("Tkinter").Label(text="Hello World").pack()me da el efecto deseado.
plannapus
@plannapus En realidad, había copiado una versión anterior con ese error, no la correcta. Gracias.
Ramchandra Apte
4

Lote de Windows, 23

@pause|echo Hello World
  • Abre una ventana negra que muestra Hello World, nada más.
  • Ahora las ventanas permanecen abiertas
  • No hay botones en la ventana.
Johannes Kuhn
fuente
2
El requisito es: crear una ventana, no forzar al administrador de ventanas a crear una ventana
F. Hauri
44
@ F.Hauri Ok, veré cómo escribir un administrador de ventanas. Hasta que alguien publique eso, considere todas las publicaciones como una violación de su requisito.
Johannes Kuhn el
1
Como dice la operación, no importa cómo se vea la ventana. Si se trata de una ventana de trama o una ventana de shell, ¿a quién le importa?
Johannes Kuhn el
55
Estoy totalmente de acuerdo :) ahora esto es absolutamente aceptable porque es una ventana y dice hola mundo :) bien hecho Me encanta
Quillion
1
@JohannesKuhn PowerShell todavía puede vencerlo. Editar próximamente.
Iszi
4

Rebol 2, 29

view layout[txt{Hello World}]

ingrese la descripción de la imagen aquí

Izkata
fuente
4

ExtJS (Javascript) 44

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

F. Hauri
fuente
3

Tcl / Tk, 34

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

AutoHotkey, 26

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

AutoIt v3, 32

ToolTip("Hello World")
Sleep(9^9)
Chris
fuente
¿No MsgBox(0,"","Hello World")sería más corto? Son 26 personajes.
Sr. Llama
Los requisitos son no tener botones Aceptar o Cancelar dentro de la ventana. El código que sugiere tiene un botón Aceptar. :(
Chris
Ah pelotas, no cumplí ese requisito.
Sr. Llama
3

HTML, 11

Hello World

Captura de pantalla:

HTML Hello World

Supongo que esto no debería contar, pero creo que sería interesante ver esa respuesta aquí.

Alvin Wong
fuente
3
Estoy de acuerdo en que no debería contar. Lo mismo se puede lograr cargando un archivo TXT simple en el navegador.
Iszi
Tu cuenta está apagada, son 20 caracteres.
jmoreno
2
@Iszi sin etiquetas HTML, esto realmente se está representando como un archivo de texto sin formato. Diría que ni siquiera puede llamarlo un envío html sin <html> </html>
Cruncher
@Cruncher Google Chrome en realidad agrega un esqueleto HTML <pre>que incluye el contenido del archivo (puede usar las herramientas de desarrollo de Chrome para verificar este comportamiento).
ComFreek
1
@Cruncher Bueno, tal vez si está usando IE6, pero en cualquier navegador moderno, se pueden omitir las <html>etiquetas, así como los <body>y <head>las etiquetas, y el navegador llenará automáticamente el "esqueleto". Por ejemplo, intente <div style="background:#ff0">Hello</div>en un navegador moderno, y universalmente mostrará "hola" con un fondo amarillo.
Braden Mejor
3

PowerShell: 162 124 114 o 20


El largo camino alrededor

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

Dado que PowerShell realmente no tiene ninguna funcionalidad GUI incorporada, me resulta difícil encontrar algo más corto que esto, que creo que realmente se ajusta al espíritu original del desafío. (O, al menos, se ajusta a los parámetros que muchos de nosotros hemos asumido que están implícitos).

ingrese la descripción de la imagen aquí

Cambios del original:

  • Se eliminó la definición del tamaño de la ventana. Aparentemente, es opcional y el valor predeterminado es lo suficientemente grande.
  • Cambios incorporados proporcionados por SpellingD en los comentarios. Nota: La ventana que genera se colgará: deberás matar a PowerShell a través del Administrador de tareas.

Enfoque alternativo de 20 caracteres

Eliminando algunos requisitos supuestos implícitos, también podemos enfrentar este desafío al estilo de Johannes Kuhn con esto:

'Hello World';for(){}

Guardar como un archivo .ps1. Asegúrese de que ExecutionPolicy del sistema permita secuencias de comandos sin firmar. Haga clic derecho y seleccione "Ejecutar con PowerShell".

ingrese la descripción de la imagen aquí

Iszi
fuente
Mostrar en lugar de ShowDialog debería hacerlo, ¿verdad?
Notalie.
Show()funciona, pero no te permite cerrar la ventana. ¡Lo cual no es un requisito!
SpellingD
Mi edición para jugar al golf fue rechazada, y mi código no es lo suficientemente diferente como para justificar una nueva respuesta, así que supongo que así es como podría jugar golf a 114. ($t=($a='New-Object Windows.Forms')+".Label"|iex).Text='Hello World';($x=iex $a".Form").Controls.Add($t);$x.Show()
SpellingD
@SpellingD Gracias. He incorporado sus cambios a la solución "verdadera", y también he agregado un "método barato" que actualmente supera a todos los contendientes. (Excepto, posiblemente, HQ9 + por supuesto.)
Iszi
3

Factor, 36 códigos + 23 importaciones = 59

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

Cuando esto se ejecuta dentro del oyente, las importaciones se llevarán automáticamente. Solo los necesita para implementar un ejecutable independiente.

Jon Purdy
fuente
2

Groovy, 68 27

Usando la consola.

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

Usando el marco.

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

Inspirado por la respuesta de Java @swilliams.

FGreg
fuente
2

Procesamiento, 37 caracteres:

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

Varios elementos utilizados para reducir los accidentes cerebrovasculares:

  • La ventana de boceto se genera por defecto; no es necesario crearlo manualmente
  • El uso drawes más corto que setup(aunque el texto se vuelve a dibujar en cada cuadro)
  • Utiliza tamaño predeterminado, fondo, relleno, fuente y tamaño de fuente
  • En realidad no necesita la altura de 10 píxeles para el texto
AJMansfield
fuente
2

Bash (36 caracteres)

xmessage -buttons "" "Hello World!"

Parece una mierda, pero funciona según lo solicitado.

ingrese la descripción de la imagen aquí

klingt.net
fuente
La regla "dentro de ella debe decir hola mundo solamente" se agregó explícitamente para evitar soluciones tan simples.
manatwork
ok, arreglé esto
klingt.net
Ahora es correcto, pero hay otro problema: se convirtió en un duplicado de la respuesta de Hasturkun .
trabajo de
1
Maldición, al menos tengo una captura de pantalla :)
klingt.net
2

Ghostscript 50

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

Podría hacerlo 49 usando una fuente de 9 puntos, pero es un poco difícil de leer.

Puede hacer una ventana más pequeña invocando gs con un argumento de geometría para 8 caracteres adicionales.

gs -g200x30 hello.ps
luser droog
fuente
2

C #, 72

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

Basado en la respuesta de @Noctis. Lo hubiera sugerido como comentario si tuviera suficiente representante.

Johnbot
fuente
2

Delphi - 73 62

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

Edite después de @manatwork y las sugerencias de @Gareth. Lo que en realidad me lleva a un recuento de personajes de 62.

RD
fuente
¿Cómo logras que ese personaje cuente? El código que publicó tiene 77 caracteres y el mínimo al que me puede reducir es 64:uses Dialogs;begin MessageDlg('Hello World',mtCustom,[],0)end.
manatwork
1
Necesitas contar nuevas líneas como parte de tu recuento de personajes. Es por eso que muchas respuestas en este sitio están todas en una línea.
Gareth
Ah, no lo sabía. Editaré mi respuesta.
RD
2

Script de shell: 56 caracteres

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

Salida de muestra:

Hello World

hombre trabajando
fuente
2

Ti84-Basic, 25

ClrHome
Disp "HELLO WORLD

Arduino, 27

Serial.print("Hello World")

Coloque esto en void setup()

Game Maker Language, 40

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

Estoy bastante seguro de que este es el camino más corto sin agregar ningún paquete de extensión.

Timtech
fuente
Si acepta un botón OK, show_message("Hello World")tiene 27 caracteres.
Timtech
Extremadamente necro este, pero tengo 2 (ligeros) comentarios sobre su Ti84-Basic. 1: ¿no podrías dejar caer la final "? 2: Si lo cuenta en bytes, tenemos un claro ganador aquí;)
--ıʇǝɥʇuʎs
@Synthetica Sí. Olvidé eso :)
Timtech
Su respuesta de TI-BASIC no abre una ventana y genera mayúsculas en lugar de letras minúsculas.
lirtosiast