Я пытаюсь написать следующую информацию:
hints:
SoftwareRequirement:
packages:
ApplicationName:
version: [ 1.7.3.nonRelease ]
Я использую следующий раздел кода:
std::string m_exeName = # I get this from my CMakeLists file
std::string versionID = # I get this from my CMakeLists file
YAML::Node hints = config["hints"];
config["hints"]["SoftwareRequirement"]["packages"][m_exeName]["version"] = "[ " + versionID + " ]";
И у меня получается следующее:
hints:
SoftwareRequirement:
packages:
ApplicationName:
version: "[ 1.7.3.nonRelease ]"
Есть ли способ получить кавычки внутри квадратной скобки или полностью удалить их? Это должно соответствовать стандарту Common Workflow Language (CWL).
Возможно, связано с этот вопрос.
РЕДАКТИРОВАТЬ (добавлены результаты из ответа):
Пошел с этим:
config["hints"]["SoftwareRequirement"]["packages"][m_exeName]["version"][0] = versionID
Результат:
hints:
SoftwareRequirement:
packages:
ApplicationName:
version:
- 1.7.3.nonRelease
With является действительным CWL.