2
ここに新しいVala ...プロパティとgetters/setterの違いを理解しようとしています。Valaの関数とプロパティの違い
public class Person {
public string name {
get {
XPath.NodeSet* nodes = search (node, "/name");
return nodes->item (0)->get_content();
}
}
public string get_name() {
XPath.NodeSet* nodes = search (node, "/name");
return nodes->item (0)->get_content();
}
}
第2のget_name()
ファンクションは期待どおり機能します。プロパティはそうではありません。それはスローされます:
Return value transfers ownership but function return type hasn't been declared to transfer ownership
return nodes->item (0)->get_content();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
私はここで何が欠けていますか? get_content()
は文字列を返さないか、関数の解決法は変換マジックを行うのですか?
ありがとうございます!
ありがとうございます、私はそれを知っています。私は、メモリ内の値を保持するために "クラス変数"(Rubyの言葉で)が必要です! – Cimm
いいえ、Rubyのクラス変数はValaの静的変数です。フィールド(インスタンス変数)、クラス変数、定数、または他のクラスの定数のいずれかになります。 – apmasell