你好世界窗口


22

创建一个窗口,里面说你好世界,别无其他。内部没有任何“确定”或“取消”按钮。它必须只是一个简单的窗口,向您问好世界。我不在乎窗口框架的内容或窗口的外观,但是在窗口内部只能说“ hello world”。

例:
在此处输入图片说明

最短的代码胜出。

编辑:对不起,约翰内斯·库恩(Johannes Kuhn)窗口必须实际停留在那儿,它可能不会立即关闭。我没有想到这种情况,因此没有考虑到这一点。

编辑2:我们目前有3个并列答案(20个字符)。任何关于谁应该是赢家的建议都值得欢迎。


1
窗口是否必须足够大才能在弹出时显示文本,还是可以要求用户调整窗口大小?
Iszi 2013年

它不必足够大以显示文本,它只需要是一个窗口即可,这意味着该容器看起来像是具有文本并且在被告知之前不会关闭的东西。
Quillion

我可以像Sven一样简短,但是可以使用OK和Cancel按钮:(
Teresa e Junior

看起来现在19点有一个Bash答案。
Iszi 2013年

2
我可以使用带有“ Hello World”标签的VB 6解决方案吗?0代码解决方案?
Cruncher

Answers:


13

bash 20 19个字符

感谢@manatwork之后的无用空间-p

read -pHello\ World

实际上:

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

从文件管理器中双击:

enter image description here

并查看:

enter image description here

作为默认外壳。

19 16

由于问题只代表Hello World,别无其他因此窗口必须保留,但仅打印一次左右就没有类似打印文本的内容了,我认为这也符合要求!

yes Hello\ World

只有16个字符。

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

使用相同的步骤可以得出:

enter image description here


1
在我看来就像GNOME。
皮埃尔·阿洛

2
我认为“选择在终端中运行”部分至少应计为1个字节。与运行某些代码高尔夫解决方案时传递给解释器的选项规则相似。
Bakuriu

1
@Bakuriu根据个人使用情况,可以将窗口管理器配置为不询问并始终在您选择的某些外壳或终端下运行...(我认为这是MS-Window下的默认设置)
F. Hauri

2
@Bakuriu喜欢安装HQ9+解释器,并增加.hq9+mime容量HQ9+终端窗口中运行。因此,挑战可以降至1个字节。该答案基于以前的答案,使用批处理powershell并运行默认情况下使用这种技巧的操作系统
F. Hauri

3
@JohannesKuhn你疯了!外部温度不超过2°C!太冷了!!
F. Hauri 2013年

23

Windows命令提示符,26

echo Hello World>.hta&.hta

enter image description here


这太棒了。生成两个窗口的奖励积分?
Gusdor

@Gusdor是什么意思?我在这里只看到一个生成的窗口。
Iszi 2013年

@Iszi我假设批处理文件是从桌面运行的,而不是键入的。哎呀!
Gusdor

@Gusdor我认为这就是为什么他将其称为“ Windows Command Prompt”而不是“ Batch”。否则,它还是会输给约翰尼斯的答案。
Iszi 2013年

1
@Iszi:这会打开一个新窗口,因此该命令是否在其他窗口中回显都没关系……
Ry-

15

R,23

plot(1,m="Hello World")

这将打开一个绘图窗口。


+1。但是,由于部分匹配,您可以缩短sub=s=
plannapus

@plannapus谢谢,好主意!我修改了我的代码。
Sven Hohenstein,

Sven,这不会打印“内部世界,您好,别无其他” :)我参加了类似的挑战,因此必须做不同的事情,请参见codegolf.stackexchange.com/a/19807/2800
Tomas

1
@Tomas这个挑战是不同的。从以下问题开始:“ 我不在乎窗口框架的内容 ”。
Sven Hohenstein

好吧,但这不关乎框架,还关乎文本-轴标签“索引”,数字等
。– Tomas


11

Powershell,23岁

'Hello World'>.hta;.hta

在此处输入图片说明


真好!比我的“真实”解决方案好,比快捷方式仅长3个字符。虽然,这有争议,实际上Hello World并不仅仅是单独使用并称为HTML 更好,因为这几乎就是您所做的。您刚刚使用PowerShell来构建和执行它。
Iszi 2013年

11

HTML(kinda),17

data:,Hello World

将其粘贴到浏览器的地址栏中。

Javascript,25岁

open("data:,Hello World")

这将使用您的浏览器window.open和数据uri。

text/plain;charset=US-ASCII省略时,数据URI的mime类型和字符集默认为。

Javascript,19岁

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

仅当此答案是最重要的(或可接受的)答案且在此堆栈溢出页面(通过您的JavaScript控制台)上运行时,此选项才有效。:-)

open(“ data:,Hello World”);


有趣的把戏。但是可悲的是,这取决于帖子的顺序,顺序可能会有所不同。
manatwork

1
好吧,只要它是可接受的答案(并且问题中没有“ <s>”),它就会起作用
David Murdoch 2013年

大声笑。我必须为你的乐观而投票。
manatwork 2013年

您能解释一下如何工作吗?我正在使用chrome,并尝试在控制台上运行它,但得到了Unexpected token ILLEGAL。您必须首先要解决此问题吗?
Quillion

是的,它必须是工作的最佳答案。或者,我可以只编辑问题本身以包含所需的<s>open("data:,Hello World");</s>HTML,但这可能会欺骗太多。:-p
大卫·默多克

9

Matlab,30 27 20

title('Hello World')

是否允许绘图窗口?它内部没有任何按钮。


是的情节窗口很好:)只要它是窗口,我不在乎
Quillion

Figure('name','Hello World')较短
magu_

@magu_好主意。但是我想这违反了“一个在里面说你好世界的窗口”的规则。
Sven Hohenstein

1
@SvenHohenstein嗯,也许吧。至少要说些有用的东西:您不需要(1)。使代码缩小3个字符。
magu_

1
你实际上并不需要figure;
TorbjørnT.

9

Java,117个字符

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

使用格式:

import java.awt.*;

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

我们可以避免在Frame的匿名子类中使用初始化程序块来显式声明变量。有趣的是,使用awt时,import java.awt.*;要完全限定两个类名的字符数是一样的。


8
您可以拨打args任何您想拨打的电话;a足够了。
daniero 2013年

@daniero感谢您的建议,非常愚蠢的我对小姐认为:)
swilliams

1
s/class/enum/
Thomas Eding

就像@ThomasEding暗示用枚举代替该类可以减少一个字节
masterX244 2014年

@ masterX244这在语法上是正确的,除非在public static...枚举常量列表的末尾添加分号...请参阅stackoverflow.com/questions/7318011/…。无论哪种情况,您最终得到的字符数都相同。
2014年

7

Mathematica 29 27 25

由于CatsAreFluffy,节省了1个字节。

DialogInput@"hello world"

你好,世界


CreateDialog更短。
alephalpha

谢谢。我以为CreateDialog会插入一个OK按钮。
DavidC

DialogInput是短1字节
CalculatorFeline

是的,谢谢,花括号也没有必要。
DavidC

5

壳牌32

xmessage -buttons '' Hello World

1
有一种短1个字符的方式: xterm -e 'read -p Hello\ World'
manatwork 2013年

如果我不必-buttons '':(
Hasturkun 2013年

@Hasturkun我同意,但是我不得不添加对按钮的要求,因为javascript会因其警报或类似的其他捷径而获胜,而且我认为这将是太不公平和太简单的,尤其是对于某些其他语言。
Quillion

@Hasturkun,没有no按钮的限制,您的xmessage Hello World解决方案仅计算20个字符,但Windows 仅用17个字符cmd击败了您msg * Hello World。因此,感谢您的限制。:)
manatwork 2013年


5

Python 2 / 3,54个字符

在tkinter中将t大写以使其可在Python 2上运行。

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

当我尝试时,我得到:AttributeError: Label instance has no attribute 'show'。但是__import__("Tkinter").Label(text="Hello World").pack()给了我想要的效果。
plannapus

@plannapus实际上,我已经复制了带有该错误的先前版本,而不是正确的版本。谢谢。
Ramchandra Apte

4

Windows Batch,23

@pause|echo Hello World
  • 打开一个黑色窗口,显示Hello World,仅此而已。
  • 现在窗户保持打开状态
  • 窗口中没有按钮。

2
要求是:创建窗口而不是强制窗口管理器创建窗口
F. Hauri 2013年

4
@ F.Hauri好的,我来看看如何编写一个窗口管理器。在有人发帖之前,请考虑所有发帖都违反了您的要求。
Johannes Kuhn

1
如op所述,窗口的外观无关紧要。如果是绘图窗口或外壳窗口,谁在乎?
Johannes Kuhn

5
我完全同意:)现在,这绝对是可以接受的,因为它是一个窗口,它确实在向世界问好:)做得好,我喜欢它
Quillion

1
@JohannesKuhn PowerShell仍然可以击败它。编辑即将出现。
Iszi 2013年


4

ExtJS(JavaScript)44

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





3

HTML,11

Hello World

屏幕截图:

HTML Hello World

我想这不应该算,但我认为在这里看到这样的答案会很有趣。


3
我同意不应该算。通过在浏览器中加载简单的TXT文件,可以完成相同的操作。
Iszi 2013年

您的笔数是20个字符。
jmoreno

2
@Iszi没有HTML标记,这实际上只是呈现为纯文本文件。我会辩称,如果没有<html> </ html>,您甚至不能称其为html提交
Cruncher

@Cruncher Google Chrome实际上添加了一个HTML框架,其中包括一个<pre>包含文件内容的HTML框架(您可以使用Chrome开发工具来验证此行为)。
ComFreek 2013年

1
@Cruncher好吧,也许,如果您使用的是IE6,但在任何现代浏览器中,都可以省略<html>标签以及<body><head>标签,浏览器会自动填写“骨骼”。例如,尝试<div style="background:#ff0">Hello</div>使用现代浏览器,它将普遍显示带有黄色背景的“ hello”。
Braden Best

3

PowerShell:162 124 114或20


漫漫长路

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

由于PowerShell确实没有任何内置的GUI功能,因此我很难提出比这短的任何东西,我觉得这真的很适合挑战的初衷。(或者,至少隐含了我们几个人假设的参数内的拟合。)

在此处输入图片说明

与原始版本的不同:

  • 删除了窗口大小定义。显然,它是可选的,默认值足够大。
  • 在评论中并入了SpellingD提供的更改。注意:产生的窗口将挂起-您需要通过任务管理器杀死PowerShell。

替代的20个字符的方法

除去一些假定的隐含要求,我们还可以通过以下方式来应对挑战约翰·库恩斯

'Hello World';for(){}

另存为.ps1文件。确保系统的ExecutionPolicy允许未签名的脚本。右键单击并选择“使用PowerShell运行”。

在此处输入图片说明


用Show代替ShowDialog应该可以,对吧?
不是。

Show()确实有效,但不允许您关闭窗口。这不是必需的!
SpellingD

我对高尔夫球的编辑被拒绝了,我的代码差别不大,不能保证给出新的答案,所以我想这就是将高尔夫球打至114的方法。($t=($a='New-Object Windows.Forms')+".Label"|iex).Text='Hello World';($x=iex $a".Form").Controls.Add($t);$x.Show()
SpellingD

@SpellingD谢谢。我已经将您对“真实”解决方案的更改合并到一起,并且还添加了一种“便宜的方法”,该方法目前击败了所有竞争者。(当然可以说是HQ9 +除外。)
Iszi 2013年

3

因子36码+ 23进口= 59

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

当它在侦听器中运行时,导入将自动引入。您只需要他们来部署独立的可执行文件。



2

Groovy,68年 27

使用控制台。

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

使用框架。

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

受到@swilliams Java答案的启发。


2

处理中,共37个字符:

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

减少中风的各种方法:

  • 默认情况下会生成草图窗口。无需手动创建
  • 使用draw时间短于setup(尽管随后每帧重新绘制文本)
  • 使用默认大小,背景,填充,字体和字体大小
  • 您实际上不需要全部10像素高的文本


2

幽灵脚本50

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

可以使用9点字体将其设置为49,但是有点难以阅读。

可以通过使用带有几何参数的gs额外增加8个字符来制作一个较小的窗口。

gs -g200x30 hello.ps

2

C#,72

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

基于@Noctis的答案。如果我有足够的代表,我会建议将此作为评论。


2

德尔斐-73 62

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

在@manatwork和@Gareth的建议之后进行编辑。这实际上使我的字符数达到62。


您如何获得该字符数?您发布的代码包含77个字符,我可以减少到的最小值为64:uses Dialogs;begin MessageDlg('Hello World',mtCustom,[],0)end.
manatwork

1
您需要将换行符计数为字符计数的一部分。这就是为什么此站点上的许多答案全部都集中在一起的原因。
Gareth

啊,我不知道。我将编辑我的答案。
RD

2

Shell脚本:56个字符

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

样本输出:

你好,世界


2

Ti84-Basic,25岁

ClrHome
Disp "HELLO WORLD

Arduino,27岁

Serial.print("Hello World")

放在这里 void setup()

游戏制作者语言,40

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

我很确定这是不添加任何扩展程序包的最短方法。


如果您接受“确定”按钮,show_message("Hello World")则为27个字符。
Timtech

彻底否定了这一点,但我对您的Ti84-Basic有2点(轻微)评论。1:你不能放弃决赛"吗?2:如果您以字节为单位计算,那么我们在这里显然是赢家;)
ɐɔıʇǝɥʇuʎs2014年

@Synthetica是的。忘了:)
Timtech

您的TI-BASIC答案不会打开一个窗口,而是输出大写字母而不是小写字母。
lirtosiast 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.