Portál AbcLinuxu, 7. května 2025 22:12

Dotaz: Vala: const

6.8.2013 15:08 Tom
Vala: const
Přečteno: 121×
Odpovědět | Admin
Jak ve vale deklaruji metodu, která vrací const/immutable pole? Ve třídě mám pole, to pole chci vrátit v metodě, vrácené pole by nemělo být modifikovatelné.
class NejakaTrida
{
  int[] pole;
  
  public unowned int[] get_pole() { return pole; }
}
Zkoušel jsem před návratový typ dát [Immutable], ale to skončí chybou při kompilaci. Jak řeknu, že prvky toho pole nesmějí být modifikovány? Jak je to teď. tak volající může prvky pole měnit:
var a = new NejakaTrida();
a.get_pole()[0] = 5; // Není chyba
Co jsem zkoušel a není zkompilovatelné:
public [Immutable] unowned int[] get_pole() { return pole; }
public unowned [Immutable] int[] get_pole() { return pole; }
public unowned ([Immutable] int)[] get_pole() { return pole; }
public unowned int[] [Immutable] get_pole() { return pole; }
Tohle je zkompilovatelné, ale nic nemění:
[Immutable]
public unowned int[] get_pole() { return pole; }
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Na otázku zatím nikdo bohužel neodpověděl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.