Re: [Vala] Handling strings



Hi Al,


On 19.04.2017 14:17, Al Thomas wrote:
Concatenation of variables is done at run time, so you either need to
make the strings constant or use properties to allow the concatenation to
occur at run time:

void main () {
     var a = new Test ();
  print (@"Extension: $(Test.ext)\n");
  print (@"Filename: $(a.filename)\n");
  print (@"Path: $(a.path)\n");
}

class Test {
  public const string ext = ".ext";
  private string _filename;
  public string filename {get {_filename = "test" + ext; return _filename;}}
  private string _path;
  public string path {get {_path = "/full/path/" + filename; return _path;}}
}
I tried it out in that way:
// Constants used by create_publication_core
    private string _filename;
    private string _path;
    private const string REV_HIST = "Revision_History.xml";
    private const string AUTHOR_GROUP = "Author_Group.xml";
    private const string ENTITY_FILE_SUFFIX = ".ent";
    private const string DIRECTORY_SEPARATOR_CHAR = "/";
    private const string ENTITY_FILE_LOCAL = {get {_filename =
publication_title + ENTITY_FILE_SUFFIX; return _filename;}}
    private const string PROJECT_DIR = {get {_path = target_dir +
DIRECTORY_SEPARATOR_CHAR + publication_title + DIRECTORY_SEPARATOR_CHAR
+ create_language; return _path;}}

The compiler says:

core/create_publication_core.vala:51.48-51.48: error: syntax error,
expected `}'
        private const string ENTITY_FILE_LOCAL = {get {_filename =
publication_title + ENTITY_FILE_SUFFIX; return _filename;}}
                                                      ^
core/create_publication_core.vala:52.42-52.42: error: syntax error,
expected `}'
        private const string PROJECT_DIR = {get {_path = target_dir +
DIRECTORY_SEPARATOR_CHAR + publication_title + DIRECTORY_SEPARATOR_CHAR
+ create_language; return _path;}}

Maybe i miss anything?

Greetings
Sascha

-- 
Sascha Manns
Maifeldstraße 10
56727 Mayen

P: +49-2651-4014045
W: http://saigkill.tuxfamily.org


Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]