Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用JSON将哈希数组写入文件?_Ruby_Arrays_Json_Hashmap - Fatal编程技术网

Ruby 使用JSON将哈希数组写入文件?

Ruby 使用JSON将哈希数组写入文件?,ruby,arrays,json,hashmap,Ruby,Arrays,Json,Hashmap,目前我正在这样做: badLinks = Array.new badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+') badLinksFile.puts badLinks.to_json 数组badLinks包含散列,是: brokenLink = Hash.new brokenLink[:onPage] = @lastPage brokenLink[:link] = @nextPage badLinks.push(broke

目前我正在这样做:

badLinks = Array.new
badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+')
badLinksFile.puts badLinks.to_json
数组
badLinks
包含散列,是:

brokenLink = Hash.new
brokenLink[:onPage] = @lastPage
brokenLink[:link] = @nextPage
badLinks.push(brokenLink)

当我看这个文件时,它是空的。这样行吗

需要检查的几件事:

badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+')
可能应该是
'w'
,而不是'
w+
'。从IO文档中:

"w" | Write-only, truncates existing file | to zero length or creates a new file for writing. -----+-------------------------------------------------------- "w+" | Read-write, truncates existing file to zero length | or creates a new file for reading and writing. “w”|仅写,截断现有文件 |设置为零长度或创建新文件以进行写入。 -----+-------------------------------------------------------- “w+”|读写,将现有文件截断为零长度 |或者创建一个新文件进行读写。 我将更像这样编写代码:

bad_links = []

brokenLink = {
  :onPage => @lastPage,
  :link => @nextPage
}

bad_links << brokenLink

File.write(arrayFilePath + 'badLinks.txt', bad_links.to_json)
坏链接=[]
断开链接={
:onPage=>@lastPage,
:link=>@nextPage
}

坏链接什么是
badLinksFile
badLinks
?分别是一个文件和一个数组?请在代码中显示它们,以及如何打开
badLinksFile
@theTinMan该编辑更有意义吗?我知道你以前帮过我。这是同一个项目。我试图记录一个访问过的URL列表,发现断开的链接,在que中找到要检查的URL。使用我当前的程序,我需要在开始时读取一个文件,并且每100个链接重写一组文件。酷。很高兴我能帮忙。我很好奇为什么要将JSON写入文件?通常,当我们处理成功/失败连接的记录时,我们使用数据库。模式由您决定,但我们肯定可以帮助您了解如何构建它。对于这类东西,数据库比磁盘上的文件要好得多。我愿意接受任何建议。给我指出一个好的起点。我开始使用json的原因是它似乎很容易使用。mySQL?我没有数据库方面的经验。你能帮我一个起点吗?看看,然后用SQLite做实验。这是一个很好的起点。自述和备忘都充满了信息。