Tag: yaml

YAML中的多级嵌套

我正在尝试使用YAML创建应用程序中使用的所有存储过程的列表以及从中调用它们的位置。 我设想了类似下面的东西,但我认为YAML不允许多级嵌套。 access_log: stored_proc: getsomething uses: usedin: some->bread->crumb usedin: something else here stored_proc: anothersp uses: usedin: blahblah reporting: stored_proc: reportingsp uses: usedin: breadcrumb 有没有办法在YAML中做到这一点,如果没有,还有什么其他选择?

转储YAML时如何强制使用双引号?

我有一个小脚本来自动化YAML文件中的一些东西。 我读取原始的YAML文件并将其转换为哈希值,然后在修改后将其转储到文件中: File.open(output_file, “w”) do |out| YAML.dump(modified_hash, out) end 这工作正常,但如果不需要它,它会删除字符串周围的双引号。 这是有效的YAML,但它看起来不太好。 我可以在每个字符串的末尾添加一个空格来强制单引号,但我对此并不满意。 有没有办法在字符串周围强制使用双引号?

带erb的YAML没有解析

为什么这个yaml文件不会解析? — sensor: id: title: unit: “” valid_min: valid_max: codename: scale_base_ten_exponent: 这个文件用于我的测试中的灯具,它是由fixpec目录中的rspec加载的。 当我尝试它时,我得到:“在第4行第28列(Psych :: SyntaxError)的此上下文中不允许映射值”

为什么psych yaml解释器会在80个字符左右添加换行符?

自从ruby1.9.3以来,Psych是默认的yaml引擎 为什么,为什么心理在其输出中添加换行符? 请查看以下示例。 ruby -v # => ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-linux] require ‘yaml’ “this absolutely normal sentence is more than eighty characters long because it IS”.to_yaml # => “— this absolutely normal sentence is more than eighty characters long because it\n IS\n…\n” YAML::ENGINE.yamler = ‘syck’ “this absolutely normal sentence is more than eighty […]

哈希中数组的YAML缩进

我认为缩进在YAML中很重要。 我在irb测试了以下内容: > puts({1=>[1,2,3]}.to_yaml) — 1: – 1 – 2 – 3 => nil 我期待这样的事情: > puts({1=>[1,2,3]}.to_yaml) — 1: – 1 – 2 – 3 => nil 为什么数组没有缩进? 我在http://www.yaml.org/YAML_for_ruby.html#collections找到了这个。 序列中的破折号计为缩进,因此您可以在映射内添加序列,而不需要空格作为缩进。

在Ruby中,如何在加载YAML文档时警告哈希中的重复键?

在下面的Ruby示例中,是否有一种模式让YAML无法忽略重复键’one’? irb(main):001:0> require ‘yaml’ => true irb(main):002:0> str = ‘{ one: 1, one: 2 }’ => “{ one: 1, one: 2 }” irb(main):003:0> YAML.load(str) => {“one”=>2} 谢谢!

修复“ruby安装缺少心理”错误?

我正在运行Ruby ruby​​ 1.9.3p125并且我不断收到此错误,这使我无法在Rails中进行任何类型的开发。 看来你的ruby安装缺少心理(对于YAML输出)。 要消除此警告,请安装libyaml并重新安装ruby。 我用谷歌搜索过,看似似乎一切,但似乎没有任何工作。 我真的很想开始一些新的项目,但似乎无法绕过这个障碍。 任何帮助是极大的赞赏!

Ruby to_yaml utf8字符串

如何使用ruby to_yaml方法存储带有原始符号的utf8字符串而不是转义序列?

前面的冒号:YAML语法

我目前正在项目中使用Sidekiq,我有以下YAML配置文件: :concurrency: 5 :pidfile: /tmp/pids/sidekiq.pid :logfile: log/sidekiq.log staging: :concurrency: 10 production: :concurrency: 20 queues: – default 我之前没有看到在一把钥匙前面有一个冒号,但省略了冒号会产生有趣的结果。 对于:pidfile:例如,前面有冒号,它创建/覆盖没有它的目标文件,它使用已存在的目标文件而不写入它。 这是在某处记录的,还是Sidekiq对某些键的期望?

Ruby YAML解析器通过传递构造函数

我正在开发一个应用程序,它从YAML文件中获取输入,将它们解析为对象,然后让它们完成它们的工作。 我现在唯一的问题是,YAML解析器似乎忽略了对象“initialize”方法。 我指望构造函数填充YAML文件缺少的任何实例变量,以及在类变量中存储一些东西。 这是一个例子: class Test @@counter = 0 def initialize(a,b) @a = a @b = b @a = 29 if @b == 3 @@counter += 1 end def self.how_many p @@counter end attr_accessor :a,:b end require ‘YAML’ a = Test.new(2,3) s = a.to_yaml puts s b = YAML::load(s) puts ba puts bb Test.how_many puts […]