Jendela Hello World

22

Buat jendela yang menyapa dunia di dalamnya dan tidak ada yang lain. Anda tidak dapat memiliki tombol ok atau membatalkan di dalam. Itu pasti jendela biasa yang menyapa dunia. Saya tidak peduli tentang isi bingkai jendela atau bagaimana tampilan jendela, tetapi di dalamnya harus menyapa dunia saja.

Contoh:
masukkan deskripsi gambar di sini

Kode terpendek menang.

EDIT: Saya minta maaf Johannes Kuhn jendela harus benar-benar tinggal di sana, mungkin tidak langsung menutup. Saya tidak memikirkan skenario ini dan karena itu tidak memperhitungkan ini.

EDIT 2: Saat ini kami memiliki 3 jawaban terikat (20 karakter). Saran siapa yang harus menjadi pemenang dipersilahkan.

Quillion
sumber
1
Apakah jendela harus cukup besar untuk menampilkan teks ketika muncul, atau apakah boleh meminta pengguna untuk mengubah ukuran jendela?
Iszi
Itu tidak harus cukup besar untuk menampilkan teks, hanya harus menjadi jendela, artinya hanya wadah ini mencari hal yang memiliki teks dan tidak menutup sampai diperintahkan.
Quillion
Saya dapat membuatnya sesingkat Sven's, tetapi dengan tombol OK dan Cancel :(
Teresa e Junior
Sepertinya ada jawaban Bash di 19 sekarang.
Iszi
2
Bisakah saya melakukan solusi VB 6 dengan label dengan "Hello World"? 0 solusi kode?
Cruncher

Jawaban:

13

pesta 20 19 karakter

Terima kasih @manatwork untuk ruang yang tidak berguna setelah -p!

read -pHello\ World

Dalam aksi:

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

Dari klik dua kali dari manajer file:

masukkan deskripsi gambar di sini

Dan lihat:

masukkan deskripsi gambar di sini

Memiliki sebagai shell default.

19 16

Sebagai pertanyaan hanya untuk Hello World dan Tidak ada yang lain , jendelanya harus tetap tetapi tidak seperti mencetak teks hanya sekali atau lebih, saya pikir persyaratan kecocokan ini juga!

yes Hello\ World

Hanya ada 16 karakter.

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

Dengan prosedur yang sama ini memberi:

masukkan deskripsi gambar di sini

F. Hauri
sumber
1
Sepertinya GNOME bagi saya.
Pierre Arlaud
2
Saya pikir bagian "pilih jalankan di terminal" harus dihitung sebagai, setidaknya , 1 byte. Mirip dengan aturan tentang opsi yang diteruskan ke penerjemah ketika menjalankan beberapa solusi codegolf.
Bakuriu
1
@ Bakuriu Tergantung pada penggunaan pribadi, Anda dapat mengonfigurasi window manager Anda untuk tidak bertanya dan menjalankan alway di bawah beberapa shell atau terminal pilihan Anda ... (Saya pikir ini default di bawah MS-Window)
F. Hauri
2
@ Bakuriu suka menginstal HQ9+interpreter, menambahkan .hq9+sebagai kapasitas mime : runningHQ9+ di jendela terminal . Jadi tantangannya bisa dijatuhkan menjadi 1 byte. Jawaban ini didasarkan pada jawaban sebelumnya, menggunakan batch atau PowerShell dan menjalankan OS yang menggunakan trik semacam ini secara default.
F. Hauri
3
@JohannesKuhn Apakah kamu gila! Tidak ada lebih dari 2 ° C di luar! Itu terlalu dingin!!
F. Hauri
23

Prompt Perintah Windows, 26

echo Hello World>.hta&.hta

masukkan deskripsi gambar di sini

Danko Durbić
sumber
Ini luar biasa. Poin bonus untuk menelurkan dua jendela?
Gusdor
@ Goddor Apa maksudmu? Saya hanya melihat satu jendela yang muncul di sini.
Iszi
@ Iszi Saya membuat asumsi bahwa file batch dijalankan dari desktop, bukan diketik. Aduh!
Gusdor
@ Goddor Saya pikir itu sebabnya ia menyebutnya "Prompt Perintah Windows" bukan "Batch". Kalau tidak, itu akan kalah dari jawaban Johannes.
Iszi
1
@ Iszi: Ini membuka jendela baru, jadi tidak masalah apakah perintah tersebut digemakan di jendela yang berbeda ...
Ry-
15

R, 23

plot(1,m="Hello World")

Ini membuka jendela plot.

Sven Hohenstein
sumber
+1. Anda dapat mempersingkat sub=ke s=berkat pencocokan parsial namun.
plannapus
@plannapus Terima kasih, ide bagus! Saya mengubah kode saya.
Sven Hohenstein
Sven, ini tidak mencetak "halo dunia di dalam dan tidak ada yang lain" :) Saya berpartisipasi dalam tantangan serupa dan itu harus dilakukan secara berbeda, lihat codegolf.stackexchange.com/a/19807/2800
Tomas
1
@ Thomas Tantangan ini berbeda. Dari pertanyaan: " Saya tidak peduli dengan isi bingkai jendela ".
Sven Hohenstein
Nah, tapi ini bukan tentang bingkai, tetapi juga teks - label sumbu "indeks", angka dll.
Tomas
14

Dyalog APL (20)

⎕SM←'Hello World'1 1

Gambar: Gambar

marinus
sumber
1
Karakter spesial!?! HAXXX!
AJMansfield
11

Powershell, 23

'Hello World'>.hta;.hta

masukkan deskripsi gambar di sini

Danko Durbić
sumber
Bagus! Mengalahkan solusi "nyata" saya, dan hanya 3 karakter lebih panjang dari metode pintasan. Padahal, ini bisa diperdebatkan bahwa ini tidak jauh lebih baik daripada hanya menggunakan Hello Worldsendiri dan menyebutnya HTML - karena itu hampir persis seperti yang telah Anda lakukan. Anda baru saja menggunakan PowerShell untuk membangun dan menjalankannya.
Iszi
11

HTML (agak), 17

data:,Hello World

Rekatkan itu ke bilah alamat browser Anda.

Javascript, 25

open("data:,Hello World")

Ini menggunakan browser Anda window.opendan uri data.

Tipe mime dan charset tipe URI default untuk text/plain;charset=US-ASCIIsaat dihilangkan.

Javascript, 19

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

Yang ini hanya berfungsi ketika jawaban ini adalah jawaban teratas (atau diterima) dan dijalankan pada halaman stackoverflow INI (melalui konsol JavaScript Anda). :-)

open ("data:, Hello World");

David Murdoch
sumber
Trik lucu. Tapi sayangnya itu tergantung pada urutan posting, yang mungkin berbeda.
manatwork
1
Yah, itu akan bekerja selama itu adalah jawaban yang diterima (dan Pertanyaan tidak memiliki "<s>")
David Murdoch
Lol. Saya harus mendukung optimisme Anda.
manatwork
Bisakah Anda jelaskan bagaimana cara kerjanya? Saya menggunakan chrome dan telah mencoba menjalankannya di konsol, tetapi saya mengerti Unexpected token ILLEGAL. Apakah Anda harus menjadi jawaban teratas agar ini berhasil?
Quillion
Ya, itu harus menjadi jawaban teratas agar bisa berfungsi. ATAU Saya bisa mengedit pertanyaan itu sendiri untuk memasukkan <s>open("data:,Hello World");</s>HTML yang diperlukan , tetapi itu mungkin terlalu curang. :-p
David Murdoch
9

Matlab, 30 27 20

title('Hello World')

Apakah jendela petak diizinkan? Tidak ada tombol di dalamnya.

Sven Hohenstein
sumber
Ya plot window baik-baik saja :) asalkan itu jendela, saya tidak peduli
Quillion
angka ('nama', 'Hello World') lebih pendek
magu_
@ magu_ Ide bagus. Tapi saya kira itu melanggar aturan "jendela yang menyapa dunia di dalam ".
Sven Hohenstein
1
@VenHohenstein Hm, mungkin. Untuk mengatakan setidaknya sesuatu yang bermanfaat: Anda tidak perlu (1) perlu. Membuat kode 3 karakter lebih kecil.
magu_
1
Anda sebenarnya tidak perlufigure;
Torbjørn T.
9

Jawa, 117 karakter

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

Dengan pemformatan:

import java.awt.*;

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

Kita dapat menghindari keharusan mendeklarasikan variabel secara eksplisit dengan menggunakan blok penginisialisasi di dalam subkelas Frame yang anonim. Menariknya, menggunakan awt, karakternya sama banyaknya dengan import java.awt.*;kualifikasi kedua nama kelas.

swilliams
sumber
8
Anda dapat memanggil argsapa pun yang Anda inginkan; aCukup.
daniero
@daniero terima kasih atas sarannya, cukup konyol saya melewatkannya :)
swilliams
1
s/class/enum/
Thomas Eding
seperti petunjuk @ThomasEding menggantikan kelas dengan enum mencukur satu byte
masterX244
@ masterX244 Itu tidak akan benar secara sintaksis kecuali titik koma ditambahkan sebelum public static...untuk mengakhiri daftar konstanta enum ... lihat stackoverflow.com/questions/7318011/… . Dalam kedua kasus Anda berakhir dengan jumlah karakter yang sama.
swilliams
7

Mathematica 29 27 25

Dengan 1 byte disimpan berkat CatsAreFluffy.

DialogInput@"hello world"

Halo Dunia

DavidC
sumber
CreateDialoglebih pendek.
alephalpha
Terima kasih. Saya pikir CreateDialog akan memasukkan tombol OK.
DavidC
DialogInputlebih pendek 1 byte
CalculatorFeline
Ya, terima kasih, dan kurung kurawal juga tidak perlu.
DavidC
5

Shell, 32

xmessage -buttons '' Hello World
Hasturkun
sumber
1
Ada cara 1 karakter lebih pendek: xterm -e 'read -p Hello\ World'.
manatwork
-buttons ''
Milik
@Asturkun saya setuju, tapi saya harus menambahkan menyingkirkan persyaratan tombol karena javascript akan menang dengan peringatan mereka atau beberapa cara pintas lainnya seperti itu, dan saya merasa itu akan terlalu tidak adil dan terlalu sederhana terutama untuk beberapa bahasa lain.
Quillion
@Asturkun, tanpa batasan tombol, xmessage Hello Worldsolusi Anda hanya menghitung 20 karakter, tetapi kemudian Windows cmdakan mengalahkan Anda msg * Hello Worldhanya dengan 17 karakter. Jadi bersyukur atas pembatasan ini. :)
manatwork
5

Ruby with Shoes , 28

Shoes.app{para'Hello World'}

Hasil:

tangkapan layar

Gagang pintu
sumber
5

Python 2/3, 54 karakter

Gunakan huruf kapital pada tkinter untuk membuatnya bekerja pada Python 2.

__import__("tkinter").Label(text="Hello World").pack()
Ramchandra Apte
sumber
ketika saya mencoba yang saya dapatkan: AttributeError: Label instance has no attribute 'show'. Namun __import__("Tkinter").Label(text="Hello World").pack()memberi saya efek yang diinginkan.
plannapus
@plannapus Sebenarnya saya telah menyalin versi sebelumnya dengan kesalahan itu, bukan yang benar. Terima kasih.
Ramchandra Apte
4

Windows Batch, 23

@pause|echo Hello World
  • Membuka jendela hitam yang menunjukkan Hello World, tidak ada yang lain.
  • Sekarang windows tetap terbuka
  • Tidak ada tombol di jendela.
Johannes Kuhn
sumber
2
Syaratnya adalah: membuat jendela tidak memaksa pengelola jendela untuk membuat jendela
F. Hauri
4
@ F. Hauri Ok, saya akan mencari cara menulis window manager. Sampai seseorang memposting itu, anggap semua posting sebagai pelanggaran terhadap kebutuhan Anda.
Johannes Kuhn
1
Saat op menyatakan, tidak masalah bagaimana tampilan jendela. Jika itu jendela plot atau jendela shell, siapa yang peduli?
Johannes Kuhn
5
Saya benar-benar setuju :) sekarang ini benar-benar dapat diterima karena ini adalah jendela dan ia mengatakan halo dunia :) bagus sekali Saya menyukainya
Quillion
1
@JohannesKuhn PowerShell masih bisa mengalahkannya. Edit akan muncul.
Iszi
4

Rebol 2, 29

view layout[txt{Hello World}]

masukkan deskripsi gambar di sini

Izkata
sumber
4

ExtJS (Javascript) 44

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

F. Hauri
sumber
3

Tcl / Tk, 34

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

AutoHotkey, 26

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

AutoIt v3, 32

ToolTip("Hello World")
Sleep(9^9)
Chris
sumber
Bukankah MsgBox(0,"","Hello World")lebih pendek? Ini 26 karakter.
Tn. Llama
Syaratnya adalah tidak ada tombol OK atau Cancel di dalam jendela. Kode yang Anda sarankan memiliki tombol OK. :(
Chris
Ah bola, saya melewatkan persyaratan itu.
Tn. Llama
3

HTML, 11

Hello World

Tangkapan layar:

HTML Hello World

Saya kira ini seharusnya tidak masuk hitungan, tetapi saya pikir akan menarik untuk melihat jawaban seperti itu di sini.

Alvin Wong
sumber
3
Saya setuju itu tidak masuk hitungan. Hal yang sama dapat dilakukan dengan memuat file TXT sederhana di browser.
Iszi
Hitungan Anda tidak aktif, itu 20 karakter.
jmoreno
2
@Iszi tanpa tag HTML, ini benar-benar baru saja dirender sebagai file teks biasa. Saya berpendapat bahwa Anda bahkan tidak dapat menyebutnya pengajuan html tanpa <html> </html>
Cruncher
@Cruncher Google Chrome sebenarnya menambahkan kerangka HTML termasuk <pre>yang berisi konten file (Anda dapat menggunakan alat dev Chrome untuk memverifikasi perilaku ini).
ComFreek
1
@Cruncher Yah, mungkin jika Anda menggunakan IE6, namun dalam browser modern, Anda dapat menghilangkan <html>tag, serta <body>dan <head>tag, dan browser secara otomatis akan mengisi "kerangka". Misalnya, coba <div style="background:#ff0">Hello</div>di peramban modern, dan itu akan membuat "halo" secara universal dengan latar belakang kuning.
Braden Best
3

PowerShell: 162 124 114 atau 20


Jalan Panjang

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

Karena PowerShell benar-benar tidak memiliki fungsionalitas GUI built-in, saya mengalami kesulitan untuk menghasilkan sesuatu yang lebih pendek dari ini yang saya rasa sangat sesuai dengan semangat asli tantangan. (Atau, setidaknya, kecocokan dalam parameter yang beberapa dari kita asumsikan tersirat.)

masukkan deskripsi gambar di sini

Perubahan dari aslinya:

  • Definisi ukuran jendela dihapus. Rupanya, itu opsional dan standarnya cukup besar.
  • Perubahan yang dimasukkan disediakan oleh SpellingD dalam komentar. Catatan: Jendela yang akan memunculkan hang - Anda harus membunuh PowerShell melalui Task Manager.

Alternatif Pendekatan 20-Karakter

Menghapus beberapa persyaratan yang dianggap tersirat, kita juga dapat memenuhi tantangan ini a-la Johannes Kuhn dengan ini:

'Hello World';for(){}

Simpan sebagai file .ps1. Pastikan ExecutionPolicy sistem memungkinkan skrip yang tidak ditandatangani. Klik kanan dan pilih "Jalankan dengan PowerShell".

masukkan deskripsi gambar di sini

Iszi
sumber
Show bukannya DialDialog harus melakukannya, kan?
Notalie.
Show()tidak bekerja, tetapi tidak membiarkan Anda menutup jendela. Yang bukan persyaratan!
SpellingD
Suntingan saya untuk golf ini ditolak, dan kode saya tidak cukup cukup berbeda untuk menjamin membuat jawaban baru, jadi inilah cara Anda mengubah nilai golf ini menjadi 114, saya kira. ($t=($a='New-Object Windows.Forms')+".Label"|iex).Text='Hello World';($x=iex $a".Form").Controls.Add($t);$x.Show()
SpellingD
@SpellingD Terima kasih. Saya telah memasukkan perubahan Anda ke solusi "benar", dan juga menambahkan "metode murah" yang saat ini mengalahkan semua pesaing. (Kecuali, tentu saja, HQ9 + tentu saja.)
Iszi
3

Faktor, 36 kode + 23 impor = 59

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

Ketika ini dijalankan di dalam pendengar, impor akan dibawa secara otomatis. Anda hanya membutuhkan mereka untuk menggunakan executable mandiri.

Jon Purdy
sumber
2

Asyik, 68 27

Menggunakan konsol.

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

Menggunakan Frame

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

Terinspirasi oleh @swilliams Java answer.

FGreg
sumber
2

Memproses, 37 karakter:

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

Berbagai hal yang digunakan untuk mengurangi stroke:

  • Jendela sketsa muncul secara default; tidak perlu membuatnya secara manual
  • Menggunakan draw lebih pendek dari setup(meskipun teks kemudian digambar ulang setiap frame)
  • Menggunakan ukuran default, latar belakang, isi, font, dan ukuran font
  • Anda sebenarnya tidak membutuhkan semua tinggi 10 piksel untuk teks
AJMansfield
sumber
2

Bash (36 karakter)

xmessage -buttons "" "Hello World!"

Sepertinya omong kosong, tetapi berfungsi seperti yang diminta.

masukkan deskripsi gambar di sini

klingt.net
sumber
Aturan "di dalamnya harus menyapa dunia saja" secara eksplisit ditambahkan untuk menghindari solusi yang sangat sederhana.
manatwork
ok, perbaiki ini.
klingt.net
Sekarang benar, tetapi ada masalah lain: itu menjadi duplikat dari jawaban Hasturkun .
manatwork
1
Sial, setidaknya saya punya tangkapan layar :)
klingt.net
2

Ghostscript 50

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

Bisa membuatnya 49 dengan menggunakan font 9-point, tapi agak sulit dibaca.

Dapat membuat jendela yang lebih kecil dengan menggunakan gs dengan argumen geometri untuk 8 karakter tambahan.

gs -g200x30 hello.ps
luser droog
sumber
2

C #, 72

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

Berdasarkan jawaban oleh @Noctis. Saya akan menyarankan itu sebagai komentar jika saya punya cukup Rep.

Johnbot
sumber
2

Delphi - 73 62

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

Edit setelah @manatwork dan saran @Gareth. Yang sebenarnya membawaku ke hitungan karakter 62.

RD
sumber
Bagaimana Anda mendapatkan jumlah karakter itu? Kode yang Anda poskan memiliki 77 karakter dan jumlah minimum yang dapat saya kurangi adalah 64:uses Dialogs;begin MessageDlg('Hello World',mtCustom,[],0)end.
manatwork
1
Anda perlu menghitung baris baru sebagai bagian dari jumlah karakter Anda. Itu sebabnya banyak jawaban di situs ini semuanya dalam satu baris.
Gareth
Ah, saya tidak tahu itu. Saya akan mengedit jawaban saya.
RD
2

Script shell: 56 karakter

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

Output sampel:

Halo Dunia

manatwork
sumber
2

Ti84-Basic, 25

ClrHome
Disp "HELLO WORLD

Arduino, 27

Serial.print("Hello World")

Tempatkan ini void setup()

Bahasa Game Maker, 40

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

Saya cukup yakin ini adalah cara terpendek tanpa menambahkan paket ekstensi.

Timtech
sumber
Jika Anda akan menerima tombol OK, show_message("Hello World")adalah 27 karakter.
Timtech
Sangat necroing yang satu ini, tapi saya punya 2 (sedikit) komentar tentang yang Ti84-Basic Anda. 1: tidak bisakah kamu menjatuhkan final "? 2: Jika Anda menghitungnya dalam byte, kami memiliki pemenang yang jelas di sini;)
30ıʇǝɥʇuʎs
@ Sintetica Ya. Lupa itu :)
Timtech
Jawaban TI-BASIC Anda tidak membuka jendela, dan itu menghasilkan modal daripada huruf kecil.
lirtosiast