我有一个指向空.yml
文件的文件对象。当我尝试加载此文件时,YAML.load
我得到false
的不是空哈希。这是预期的行为吗?
file.read
正在""
按预期返回。
我有一个指向空.yml
文件的文件对象。当我尝试加载此文件时,YAML.load
我得到false
的不是空哈希。这是预期的行为吗?
file.read
正在""
按预期返回。
那可能是因为YAML.parse("")
返回false
。所以我想这是预期的行为。
您可以修改load_file
功能如下:
代替
data_hash = YAML.load_file(yaml_file)
至
data_hash = YAML.load_file(yaml_file, {})
因此,当YAML
向load_file
函数提供空文件时,它将返回一个空哈希(我的 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",{})
=> {}