【问题标题】:YAML.load(file) returning false?YAML.load(file) 返回 false?
【发布时间】:2012-06-15 15:33:27
【问题描述】:

我有一个文件对象指向一个空的.yml 文件。当我尝试使用YAML.load 加载此文件时,我得到false 而不是空哈希。这是预期的行为吗?

file.read 按预期返回""

【问题讨论】:

    标签: ruby ruby-1.9.3


    【解决方案1】:

    这可能是因为YAML.parse("") 返回false。所以我想这是预期的行为。

    【讨论】:

      【解决方案2】:

      您可以修改load_file函数如下:

      代替

      data_hash = YAML.load_file(yaml_file)

      data_hash = YAML.load_file(yaml_file, {})

      所以当空的YAML文件被提供给load_file函数时,它会返回一个空的hash(我的Ruby版本是Ruby 2.4.0p0)

      示例: 空文件:/Users/batman/config/config.yml

       irb:
          2.4.0 :001 > require 'yaml'
          => true 
          2.4.0 :006 > YAML.load_file("/Users/batman/config/config.yml",{})
          => {} 
      

      【讨论】:

        猜你喜欢
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 2012-04-04
        • 1970-01-01
        相关资源
        最近更新 更多