Ruby将哈希键写为文件名,将值写为文本

时间:2014-03-21 04:14:06

标签: ruby file hash symbols

我有一个包含多个值的键的哈希。我想创建一个新文件,其中键值是文件名。然后我想在文件的新行上添加每个值元素。

但是我收到以下错误:

`initialize':没有将Symbol隐式转换为String(TypeError)

    @agency_list.each do |domain, email|
        File.open(domain , "w") { |file| file.write(email) }
    end

我尝试将值元素转换为字符串,但这并没有改变任何内容。

1 个答案:

答案 0 :(得分:1)

看起来你应该在放置字符串的地方使用符号。

因为信息有限。尝试更改:

File.open(domain , "w") { |file| file.write(email) }

File.open(domain.to_s , "w") { |file| file.write(email) }

File.open(domain , "w") { |file| file.write(email.to_s) }

或者添加" to_s"同时"domain""email"检查哪一个是正确的,那么您可能知道哪个部分是错误的。