1

我想用 Genie 语言重现一个小的 Hello World Gtk 程序,基于以下 Vala 代码:

using Gtk;

int main(string[] args){
Gtk.init (ref args);
Gtk.Window window = new Gtk.Window (Gtk.WindowType.TOPLEVEL);
Gtk.Label label = new Gtk.Label("Hello world!");
window.add(label);
    window.set_default_size (300, 200);
    window.show_all ();
Gtk.main ();
return 0;
}

相同的代码在 Genie 中的外观如何?

4

1 回答 1

3

它看起来像这样:

[indent=4]
uses Gtk

init
    Gtk.init (ref args)
    var window = new Window (WindowType.TOPLEVEL)
    var label = new Label("Hello world!")
    window.add(label)
    window.set_default_size (300, 200)
    window.show_all ()
    Gtk.main ()

请注意,这args是隐式可用的。

我在分配windowlabel标识符时使用了类型推断。这是因为在右侧清楚地显示了类型。

您可以通过在标识符后声明类型来明确类型。标识符和类型用冒号分隔:

    窗口:窗口 = 新窗口(WindowType.TOPLEVEL)
    label:Label = new Label ("Hello world!")

制表符是 Genie 中缩进的默认设置,但 Stack Overflow 坚持使用四个且仅是四个空格的倍数。如果您希望将 TAB 用于 Genie 代码的 HTML 示例,则 HTML TAB 实体 效果很好。即使在 Stack Overflow 的预览版中。然而,在本例中,必须在开头使用 [indent=4]。

于 2015-10-02T10:51:05.457 回答