来自 Vala 代码的 Genie 中的 Gtk Hello World
Gtk Hello World in Genie from Vala code
我想用 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 中看起来如何?
看起来像这样:
[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
是隐式可用的。
我在分配 window
和 label
标识符时使用了类型推断。这是因为类型在右边写的很清楚。
您可以通过在标识符后面声明类型来明确类型。标识符和类型用冒号隔开:
window:Window = new Window (WindowType.TOPLEVEL)
label:Label = new Label ("Hello world!")
制表符是 Genie 中默认的缩进,但 Stack Overflow 坚持使用四个且仅是四个空格的倍数。如果您希望将 TAB 用于 Genie 代码的 HTML 示例,那么 HTML TAB 实体 效果很好。即使在 Stack Overflow 的预览中。但是,在此示例中,必须在开头使用 [indent=4]。
我想用 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 中看起来如何?
看起来像这样:
[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
是隐式可用的。
我在分配 window
和 label
标识符时使用了类型推断。这是因为类型在右边写的很清楚。
您可以通过在标识符后面声明类型来明确类型。标识符和类型用冒号隔开:
window:Window = new Window (WindowType.TOPLEVEL) label:Label = new Label ("Hello world!")
制表符是 Genie 中默认的缩进,但 Stack Overflow 坚持使用四个且仅是四个空格的倍数。如果您希望将 TAB 用于 Genie 代码的 HTML 示例,那么 HTML TAB 实体 效果很好。即使在 Stack Overflow 的预览中。但是,在此示例中,必须在开头使用 [indent=4]。