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