请阅读规则,以及粗体字部分。
只要具有对窗口系统的GUI支持(不能是文本控制台等,并且必须是GUI / toolkit / window),就可以用任何语言编写程序。
程序必须以任何方式(问候图像,菜单栏,状态栏,标题,视频,消息框,其他小部件内容等)打招呼,只要符合GUI的窗口并显示此文本三秒钟。可以使用最少的代码(以字节为单位)进行编码的人会很容易。
请阅读规则,以及粗体字部分。
只要具有对窗口系统的GUI支持(不能是文本控制台等,并且必须是GUI / toolkit / window),就可以用任何语言编写程序。
程序必须以任何方式(问候图像,菜单栏,状态栏,标题,视频,消息框,其他小部件内容等)打招呼,只要符合GUI的窗口并显示此文本三秒钟。可以使用最少的代码(以字节为单位)进行编码的人会很容易。
Answers:
xmessage -timeout 3 hello world
该程序需要X.Org 的xmessage(1)实用程序。它使用传统的黑白X Athena Widgets(Xaw)。
timeout
,zenity
但使用的时间更长...
zenity
在答复N.1 codegolf.stackexchange.com/a/28451/4065
timeout
命令。也许其他人可以发布使用它的新答案?
timeout 3 gedit Hello World
如果Hello World需要显示为单个字符串,则其28个字符为:
timeout 3 gedit Hello\ World
timeout
实用程序在指定的持续时间内运行命令。假设启动时间最短,它可以确保gedit运行3秒钟。
可以使用任何编辑器代替gedit
。如果使用较短的命名编辑器(如)gvim
,则可以将其长度减少1个或更多字符。
使用最初由user80551想到的编辑器。
Hello\ World
Hello <space> <close icon> <Document icon> World
kate
可以代替gedit
吗?
<script>setTimeout("open('','_self','');close()",3e3)</script>Hello world
这在Chrome浏览器中有效,但可能无法移植到其他浏览器中。
评论意见提出了以下建议:
<body onload=open('',name=setTimeout(close,3e3))>Hello world
108
字符到字符73
。突然,整个代码可见。
<body onload=open('','_self'),setTimeout(close,3e3)>Hello world
似乎节省了几个字符。
<body onload=open('',name=setTimeout(close,3e3))>Hello world
不确定是否合格。需要notify-send
。至少在Ubuntu 12.04上有效。
notify-send -t 3000 Hello world
zenity
时间更长。
gedit Hello\ World&sleep 3;kill $!
假设从发出命令开始算起3秒钟,gedit即刻弹出。如果GUI文本编辑器的长度小于,则可以较小gedit
。
geany
同样适用于相同数量的字符 s/gedit/geany/g
编辑:使用timeout
更短。/codegolf//a/28477/8766
EDIT2:谁能确认这是否适用kate
?
如果完全Hello World
不需要,则meld
可以使用。
meld Hello World&sleep 3;kill $!
gedit
即使没有文件,也尝试用此名称打开文件。
gvim
它,则只需33个字符
halt
会更短一些,但我不知道是否允许破坏性。而且,它需要root权限,因此我们要么需要假设我们是root用户,要么使用sudo
它会花费更多(并且需要用户输入密码)。
import pygame.display as d,time
d.set_mode()
d.set_caption('Hello world')
time.sleep(3)
[999,999]
tkinter
原来更短。
我注意到,其中一些提交(例如shell或javascript提交)使您可以在控制台中键入代码。如果是这样,我可以将其缩短为:
wm ti . hello\ world;af 3000 exi
运行wish 后必须在控制台中键入。意思是,在wish
不带参数的情况下运行,这将为您提供一个REPL控制台,然后键入上面的代码。这利用了以下事实:tcl可以是宽松的和自动完成的命令/功能名称,但只能在交互模式下使用。这样就可以af
实际执行after
命令并exi
执行exit
。我想使用,ex
但是我的系统已ex
安装编辑器。
wm ti . hello\ world;after 3000 exit
使用wish
代替运行tclsh
。
class F{public static void main(String[]a)throws Exception{new java.awt.Frame("Hello World").show();Thread.sleep(3000);System.exit(0);}}
将消息显示Hello World
为框架的标题。之后3
秒钟后,程序关闭。
看起来像这样:
拖动更大:
扩展代码(即可读):
class F {
public static void main(String[] a) throws Exception {
new java.awt.Frame("Hello World").show();
Thread.sleep(3000);
System.exit(0);
}
}
enum
而不是class
保存另一个字符。
zenity --info --text=Hello\ World --timeout=3
旧版本(得分47):
zenity --info --title="Hello World" --timeout=3
出于某种原因,zenity显示了可以翻译为“ 所有更新完成”的文本。
--title
为--text
"Hello World"
在Hello\ World
#include<allegro.h>
main(){textout_ex(screen,font,"Hello World",0,0,7,set_gfx_mode('SAFE',8,8,install_timer(),
allegro_init()));rest(3e3);}END_OF_MAIN()
不是最小的答案。我也喜欢
'SAFE'
不是一个字符。
这肯定不是最短的答案(因为已经有其他更好的答案变得更短了),但是在我看来,codegolf.SE需要更多的C#贡献!
using t=System.Threading;class P{static void Main(){using(t.Tasks.Task.Run(()=>System.Windows.MessageBox.Show("hello world"))){t.Thread.Sleep(3000);}}}
基于Bob的答案的替代方法,但使用WPF而不是WinForms:
class P{static void Main(){new System.Windows.Window(){Title="hello world"}.Show();System.Threading.Thread.Sleep(3000);}}
由于命名空间较短,节省了3个字符。
using
在字符计数中包括声明。另外,您可以将它们排除在外,但随后您必须做类似的事情System.Windows.Forms.MessageBox.Show
(如果只是一次使用,则字符数要少一些)。正如您的代码当前一样,它不会编译或运行。
System.Windows.Forms.dll
,这是msbuild config / compile命令行的一部分。然而,普遍的共识似乎是,当请求一个完整的程序,using
/ import
/ #include
/等。需要编译和运行代码的位置,并且尝试使用编译器命令行技巧来躲避不好的代码。
msg/time:3 * hello world
在Windows 7上进行了测试,但假定您在System32文件夹中有MSG.EXE,则它应该可以在任何基于NT的Windows版本上运行。
编辑:显然,MSG.EXE在Windows的家庭版本上默认不可用。例如,在Windows 7上,仅在Ultimate版或Business版中可用。但是,您可以将文件复制到System32文件夹中并使其正常工作。(您还必须复制适当的MSG.EXE.MUI文件以获取正确的错误消息,但是我的“脚本”在没有它们的情况下也可以工作。)
您还必须安装软件才能使其他大多数响应正常工作,因此我认为这不应成为取消资格的条件。
time:3
文件夹的程序msg
?
\
。
/
太
/
在一些地方,但cmd
,/xxx
被解释为一个参数。
使用Perl / Tk:
perl -MTk -e'alarm 3;tkinit-title,"Hello World!";MainLoop'
# 123 45678901234567890123456789012345678901234567
-MTk
也在数国旗吗?
int x=millis();void draw(){text("Hello world",0,9);if(millis()>x+3e3)exit();}
屏幕截图:
编辑1:如@ace所示,文本的Y位置可以是9而不是10。
编辑2: 3000可以表示为3e3以删除一个字符,也用@ace表示
3e3
而不是3000
再保存一个字符
timeout 3 display label:Hello\ world
在Ubuntu 14.04 LTS和Fedora 20上测试。
看起来更好,但大了10个字节:
timeout 3 display -size 800 label:Hello\ world
我相信Windows CMD终端运行的窗口算是GUI兼容的。
start "Hello world" cmd /csleep 3
如果您sleep
的系统上没有该命令,则可以使用timeout
Windows 7中的默认。另外两个字节。
start "Hello world" cmd /ctimeout 3
用标题“ Hello World”(不是)启动一个新的CMD窗口。在终端本身的显示,但是作为GUI窗口的标题,在终端运行),该窗口将关闭,一旦所有解析的命令已经执行-所以以后sleep 3
要么timeout 3
已完成。
窗口看起来像这样-
注意; start
在新窗口中运行给定命令-而不是从中运行上述命令的窗口。
cmd "Hello world" cmd /ctimeout 3
将Hello world放在标题栏中3秒钟,但这可能不算在内。
start "Hello world"
先生,您是天才。
from tkinter import*
f=Tk()
f.wm_title("Hello World")
f.after(3000,exit)
使用保存字节tkinter
。
旧方法将a添加Label
到框架中。此方法将框架的标题设置为Hello World
。经过毫秒后f.after(3000,exit)
运行。exit()
3000
turtle
具有更少的字节。= D codegolf.stackexchange.com/a/28548/14506