Ruby将哈希键写入文件名,将值写入文本
我有一个散列,它有一个具有多个值的键。我想用键值作为文件名创建一个新文件。然后我想在文件的新行中添加每个value元素 但是,我得到以下错误: `初始化”:没有将符号隐式转换为字符串(TypeError)Ruby将哈希键写入文件名,将值写入文本,ruby,file,hash,symbols,Ruby,File,Hash,Symbols,我有一个散列,它有一个具有多个值的键。我想用键值作为文件名创建一个新文件。然后我想在文件的新行中添加每个value元素 但是,我得到以下错误: `初始化”:没有将符号隐式转换为字符串(TypeError) 我试图将值元素转换为字符串,但这并没有改变任何事情。看起来您在应该放入字符串的位置使用了符号 因为信息有限。尝试更改: File.open(domain , "w") { |file| file.write(email) } 到 及 或者在“域”和“电子邮件”中都添加“to_s”,以检查哪一
我试图将值元素转换为字符串,但这并没有改变任何事情。看起来您在应该放入字符串的位置使用了符号 因为信息有限。尝试更改:
File.open(domain , "w") { |file| file.write(email) }
到
及
或者在
“域”
和“电子邮件”
中都添加“to_s”,以检查哪一个是正确的,然后您可能知道哪一部分是错误的。将您的哈希添加到问题中。哈希是巨大且动态的。基本上,它以电子邮件域作为键,以电子邮件地址作为值。您是否使用符号(如:foo
)作为键或值?如果是,如何将它们转换为字符串?
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) }