Przeczytaj zasady, a także odważne obszary .
Napisz program w dowolnym języku, o ile ma on obsługę GUI dla systemu okien (nie może być konsolą tekstową itp. I musi być GUI / toolkit / window).
Program musi przywitać świat w jakikolwiek sposób (obraz powitalny, pasek menu, pasek stanu, tytuł, wideo, okno komunikatu, inne elementy widżetów itp.), O ile pojawi się okno zgodne z GUI i wyświetli ten tekst przez trzy sekundy . Osoba, która może zakodować to w jak najmniejszej ilości użytego kodu, liczonego w bajtach, weźmie ciasto.
code-golf
graphical-output
hello-world
Sut Dip
źródło
źródło
Odpowiedzi:
Powłoka uniksowa, 31 znaków
Ten program wymaga narzędzia xmessage (1) z X.Org. Wykorzystuje tradycyjne czarno-białe widżety X Athena (Xaw).
źródło
timeout
izenity
ale było już ...zenity
Odpowiedź od n.1 na codegolf.stackexchange.com/a/28451/4065timeout
polecenia. Może ktoś inny może opublikować nową odpowiedź, która z niej korzysta?Shell i gedit - 27 znaków
Jeśli Hello World musi być wyświetlany jako pojedynczy ciąg, to jego 28 znaków:
timeout
narzędzie uruchamia polecenie na określony czas. Zapewnia, że gedit działa przez 3 sekundy, przy założeniu minimalnego czasu uruchamiania.Zamiast
gedit
. Można użyć dowolnego edytora . Jeśli używany jest edytor o krótszej nazwiegvim
, długość można zmniejszyć o 1 lub więcej znaków.Korzystanie z edytora, o którym początkowo pomyślał użytkownik 80551 .
źródło
Hello\ World
Hello <space> <close icon> <Document icon> World
kate
działałoby zamiastgedit
?Jabłkowy, 45 bajtów:
Niezbyt często Applescript jest jedną z krótszych odpowiedzi:
Wklej do edytora Applescript i uruchom lub uruchom za pomocą
osascript
wiersza polecenia:źródło
HTML + JavaScript,
7360 znakówDziała to w Chrome, ale może nie być przenośne na inne przeglądarki.
Sugestie zawarte w komentarzach idą dalej:
źródło
108
znaków do73
. Nagle cały kod jest widoczny.<body onload=open('','_self'),setTimeout(close,3e3)>Hello world
wydaje się uratować jeszcze kilka postaci.<body onload=open('',name=setTimeout(close,3e3))>Hello world
skrypt powłoki, 31
Nie jestem pewien, czy się kwalifikuje. Wymaga
notify-send
. Działa przynajmniej na Ubuntu 12.04.źródło
zenity
jest znacznie dłuższe.shell + gedit / geany, 34
Zakłada się, że gedit wyskakuje natychmiast, ponieważ 3 sekundy są liczone od początku wydania polecenia. Może być mniejszy, jeśli edytor tekstu GUI jest krótszy niż
gedit
.geany
działa również dla tej samej liczby znaków, tylkos/gedit/geany/g
EDYCJA: Korzystanie
timeout
jest krótsze. /codegolf//a/28477/8766EDYCJA 2: Czy ktoś może potwierdzić, czy to działa
kate
?meld, 32
Jeśli dokładnie
Hello World
nie jest to wymagane,meld
można je zastosować.źródło
gedit
próbuje otworzyć plik o tej nazwie, nawet jeśli nie ma pliku.gvim
go użyjesz , potrzebujesz tylko 33 znakówhalt
byłby krótszy, ale nie wiem, czy bycie destrukcyjnym jest dozwolone. Wymaga to również uprawnień roota, więc albo musimy założyć, że jesteśmy rootem, albo użyć,sudo
który kosztuje więcej (i wymaga od użytkownika wpisania hasła).VBScript, 58
źródło
Python (pygame), 87
źródło
[999,999]
tkinter
okazuje się krótszy.Tcl - 32 bajty
Zauważyłem, że niektóre z tych zgłoszeń, takie jak shell lub javascript, pozwalają na wpisanie kodu w konsoli. W takim przypadku mogę go skrócić do:
Należy wpisać w konsoli po uruchomieniu życzeń. Oznacza to, że uruchom
wish
bez argumentów, które dadzą ci konsolę REPL, a następnie wpisz powyższy kod. Wykorzystuje to fakt, że tcl może być łagodny i automatycznie uzupełnia nazwy poleceń / funkcji, ale tylko w trybie interaktywnym. Tak więcaf
faktycznie wykonujeafter
polecenie iexi
wykonujeexit
. Chciałem użyć,ex
ale mój system maex
zainstalowany edytor.Oryginalne przesłanie - 36 bajtów
Uruchom za pomocą
wish
zamiasttclsh
.źródło
5251 znaków z Mathematica(Mam nadzieję, że liczy się to jako zgodne z GUI.)
źródło
Java, 136 bajtów
Wyświetla wiadomość
Hello World
jako tytuł ramki. Po3
kilku sekundach program zamyka się.Wygląda tak:
Przeciągnij to większe:
Rozszerzony kod (tzn. Czytelny):
źródło
enum
zamiastclass
zapisać inną postać.R, 44
źródło
PowerShell -
6352źródło
Visual FoxPro - 23 znaki
To narusza fakt, że VFP pozwala nie umieszczać spacji między ciągiem do wydrukowania (co właśnie odkryłem) i że pozwala skrócić każde słowo kluczowe do pierwszych 4 znaków.
Wersja bez golfa:
źródło
GTK +,
4745Stara wersja (wynik 47):
Z jakiegoś powodu zenity wyświetla tekst, który można przetłumaczyć po zakończeniu aktualizacji .
źródło
--title
na--text
"Hello World"
naHello\ World
C, 151 znaków
Nie najmniejsza odpowiedź. Lubię to.
źródło
'SAFE'
nie jest ani jednym char.C #
101151To z pewnością nie będzie najkrótsza odpowiedź (ponieważ istnieją już inne dobre odpowiedzi, które są znacznie krótsze), ale codegolf.SE wymaga znacznie więcej wkładów C #!
C # 121
Alternatywa oparta na odpowiedzi Boba , ale z WPF zamiast WinForm:
Zapisuje 3 znaki dzięki krótszej przestrzeni nazw ...
źródło
using
declarations in the character count. Alternatively, you could leave them out but then you'd have to do things likeSystem.Windows.Forms.MessageBox.Show
(slightly fewer characters if it's only a single use). As your code currently is, it won't compile or run.System.Windows.Forms.dll
, which is part of the msbuild config/the compile command line. However, the general consensus seems to be that when a full program is requested,using
/import
/#include
/etc. where necessary for the code to compile and run are required, and attempting to use compiler command line tricks to dodge that is bad.Batch (24)
Tested on Windows 7, but should work on any NT-based version of Windows, assuming you have MSG.EXE in your System32 folder.
EDIT: Apparently MSG.EXE is not available by default on home versions of Windows. On Windows 7, for example, this is only available in the Ultimate or Business editions. However, you can copy the file over to your System32 folder and get it to work. (You must also copy over the appropriate MSG.EXE.MUI file to get proper error messages, but my "script" works without them.)
You have to install software for most of these other responses to work, too, so I don't think that should be a disqualifier.
źródło
time:3
in a folder calledmsg
in the current directory?\
./
too/
in some places, but incmd
,/xxx
is interpreted as an argument.APL (40)
źródło
X.Close⊣⎕DL⍴⍕'X'⎕WC'Form' 'Hello World'
Lua + LÖVE, 67 bytes
źródło
Perl on Windows (56)
źródło
Perl 5, 47
Using Perl/Tk:
źródło
-MTk
flag as well?Rebol View (r3gui), 49
Ungolfed:
źródło
Processing, 77
Screenshot:
Edit 1: Y position of the text can be 9 instead of 10, like noted by @ace.
Edit 2: 3000 can be represented as 3e3 to shave one character off, also noted by @ace
źródło
3e3
instead of3000
to save one more charbash + ImageMagick (36 bytes)
Tested on Ubuntu 14.04 LTS and on Fedora 20.
Nicer-looking, but 10 bytes larger:
źródło
CMD / Batch - 33 Bytes
I believe the window that the Windows CMD terminal runs in counts as GUI compliant.
If you don't have the
sleep
command on your system - then you can usetimeout
which comes default in Windows 7. For two more bytes.Starts a new CMD window with the title "Hello World" (NOT displayed in the terminal itself, but as the title of the GUI window that the terminal runs in), this window will close as soon as all parsed commands have executed - so after
sleep 3
ortimeout 3
has completed.The window looks like this -
Note;
start
runs the given commands in a new window - not the window that you are running the above commands from.źródło
cmd "Hello world" cmd /ctimeout 3
puts Hello world in the title bar for 3 seconds, but that probably doesn't count.start "Hello world"
You sir, are a genius.Python 3,
8372 bytesSave bytes by using
tkinter
.The old method added a
Label
to the frame. This method sets the title of the frame toHello World
.f.after(3000,exit)
runsexit()
after3000
milliseconds have passed.źródło
turtle
has less bytes. =D codegolf.stackexchange.com/a/28548/14506Cobra - 180
źródło
Ruby [with Shoes] (44 chars)
źródło
C# 124
Far from the shortest :(
źródło