Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ruby截断空格并添加破折号更新yaml文件_Ruby_Yaml - Fatal编程技术网

使用ruby截断空格并添加破折号更新yaml文件

使用ruby截断空格并添加破折号更新yaml文件,ruby,yaml,Ruby,Yaml,我有一个yaml文件,其中包含以下数据 :books: :action1: :book_name: name1 :book_author: author1 :publish_date: 2009 :action2: :book_name: name2 :book_author: author2 :publish_date: 2016 我正在尝试使用简单的ruby代码段更新yaml文件,如下所示 test = YAML::load_fil

我有一个yaml文件,其中包含以下数据

:books:
  :action1:
    :book_name: name1
    :book_author: author1
    :publish_date: 2009

  :action2:
    :book_name: name2
    :book_author: author2
    :publish_date: 2016
我正在尝试使用简单的ruby代码段更新yaml文件,如下所示

test = YAML::load_file('books_details.yml')
test[:book][:action1][:book_name] = "book x"
test[:book][:action1][:book_author] = "author y"
test[:book][:action1][:publish_date] = "2019"

File.open('books_details.yml', 'w') { |f| YAML.dump(test, f) }
这是可行的,但我得到以下输出


文件顶部添加了一个---,空格被截断 有没有其他我可以使用的库不会删除空格并在其中附加---的

:books:
  :action1:
    :book_name: book x
    :book_author: author y
    :publish_date: 2019
  :action2:
    :book_name: name2
    :book_author: author2
    :publish_date: 2016