YAML"锚点"与键中的另一个字符串的串联

Dor*_*ian 4 ruby yaml

所以我想转此:

a:
  b: &b "hello"
  c: *b "world"
Run Code Online (Sandbox Code Playgroud)

进入: {"a"=>{"b"=>"hello", "c"=>"hello world"}}

但是现在我明白了did not find expected key while parsing a block mapping at line 2 column 3.

我知道这很好用:

a:
  b: &b "hello"
  c: *b
Run Code Online (Sandbox Code Playgroud)

(我从learnxinyminutes学习并尝试了一些%() %{} #{} ..语法,但没有一个工作)

fly*_*lyx 12

YAML不是一种编程语言,并且通常不提供用于执行所需操作的工具.

但是,如果你真的想做这样的事情,没有什么阻碍你定义一些标签!concat并以一种让你做的方式实现它

a:
  b: &b "hello"
  c: !concat [*b, "world"]
Run Code Online (Sandbox Code Playgroud)

重要的是:您需要在装载方面自己实现.这个想法不是太奇特了; !!merge标签的(非标准)定义与此处的映射类似,并且一些YAML实现支持这种定义.但出于好的原因,它没有找到进入标准的方法.经验法则:如果你想做这样的事情,YAML可能不适合你.