При работе с документом yaml я обнаружил, что одно из моих значений анализировалось как строка с snakeyaml:
-8e-05
Я обнаружил, что ros, который использует yaml-cpp для записи yamls, использует следующий код для записи массива
out << YAML::BeginSeq;
for (int i = 0; i < m.rows*m.cols; ++i)
out << m.data[i];
out << YAML::EndSeq;
но приведенный выше код c ++ (скопированный из ros "parse_yml.cpp" в пакете camera_calibration) создает -8e-05, в то время как snakeyaml анализирует его как строку.
Так, кто прав, должен ли быть отчет об ошибке? если так, то кому? Спецификация 1.2 yaml, кажется, допускает необязательное десятичное число, но я не мог понять, допускает ли спецификация 1.1 yaml то, что реализует snakeyaml.