2015-10-02 29 views
1

我想重現精靈語小的Hello World程序的Gtk基於下面的代碼瓦拉:的Gtk的Hello World的精靈從瓦拉代碼

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; 
} 

如何將相同的代碼看在精靈?

+0

請要求你已經嘗試什麼,什麼在未來不工作更具體的問題。 「給我的代碼」通常不是在stackoverflow.com上使用的那種問題 –

+0

好的,Jens,謝謝......不會再發生。 –

回答

2

它應該是這樣的:

[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標識符時,我已經使用了類型推斷。這是因爲該類型在右側顯示。

你可以明確的有關陳述標識後的類型的類型。標識符和類型由冒號分隔:

 window:Window = new Window (WindowType.TOPLEVEL) 
    label:Label = new Label ("Hello world!")

標籤是用於精靈縮進默認的,但堆棧溢出堅持的四個空格四個唯一的倍數。如果您希望將TAB用於精靈代碼的HTML示例,那麼HTML TAB實體	效果很好。即使在Stack Overflow預覽中也是如此。然而在這個例子中,必須在開始時使用[indent = 4]。

+0

是的,我明白。兩種語言看起來都很相似,給我留下了深刻的印象。那麼,我應該認爲Geanie和Vala有相同的潛力和能力嗎?我把一個問題與VALA大括號,它使代碼的可讀性,而且這個例子清楚...... –

+1

精靈都有,因爲它的下面是使用相同的編譯器瓦拉同電位瓦拉,但精靈的目標是更清晰的語法。 Genie目前不像Vala那麼強大,因爲它需要更多的開發,例如匿名函數只能在非常有限的情況下工作。看看燈神的bug得到的一些限制一個更好的主意: https://wiki.gnome.org/Projects/Genie/Developing – AlThomas

+1

但較少使用精靈和編譯器仍然有幾個問題,你可能會考慮將Vala特別作爲GLib/Gtk +世界的初學者。 –