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.


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í


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í


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.


+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


11

Powershell, 23

'Hello World'>.hta;.hta

ingrese la descripción de la imagen aquí


¡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");


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.


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.


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


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

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

Python 2/3, 54 caracteres

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

__import__("tkinter").Label(text="Hello World").pack()

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.

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

ExtJS (Javascript) 44

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




3

AutoIt v3, 32

ToolTip("Hello World")
Sleep(9^9)

¿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í.


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í


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.



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.


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

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í


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

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.


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.


¿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


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.