我正在使用 Ruby 1.9.3,并且我有一个由另一个程序生成的 YAML 文件,我需要对其进行解析。Ruby YAML 解析器似乎无法识别%YAML:1.0
,这只是 YAML 版本的一个指标。
这是我的 YAML 文件:
%YAML:1.0
task_name: "1000022_es-2013-03-19-12-00-00_1_90000_s1.vtsk"
worker_name: "1000022_es-2013-03-19-12-00-00_1_90000_s1.vtsk"
left_labels: !!opencv-matrix
rows: 8
cols: 1
dt: f
data: [ 8., 6., 2., 7., 8., 4., 10., 4. ]
right_labels: !!opencv-matrix
rows: 8
cols: 1
dt: f
data: [ 14., 6., 12., 7., 7., 4., 5., 1. ]
left_features: !!opencv-matrix
rows: 8
cols: 2
dt: f
data: [ 4692611., 12., 2.81733875e+06, 12., 2.99522725e+06, 12.,
4.00128050e+06, 12., 3.84592175e+06, 12., 2006966., 12.,
4.47367050e+06, 12., 9.56887875e+05, 0. ]
right_features: !!opencv-matrix
rows: 8
cols: 2
dt: f
data: [ 4692611., 12., 2.81733875e+06, 12., 2.99522725e+06, 12.,
4.00128050e+06, 12., 3.84592175e+06, 12., 2006966., 12.,
4.47367050e+06, 12., 9.56887875e+05, 0. ]
当我这样做时:
require 'yaml'
Psych.load(File.read('myfile.yaml'))
我收到此错误:
Psych::SyntaxError: (): 无法在第 0 行第 5 列解析 YAML
如果我%YAML:1.0
从文件中删除,那么一切都很好。