Zac*_*ach 4 ruby arrays json hashmap
目前我这样做:
badLinks = Array.new
badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+')
badLinksFile.puts badLinks.to_json
Run Code Online (Sandbox Code Playgroud)
该数组badLinks包含哈希,并且是:
brokenLink = Hash.new
brokenLink[:onPage] = @lastPage
brokenLink[:link] = @nextPage
badLinks.push(brokenLink)
Run Code Online (Sandbox Code Playgroud)
当我查看文件时它是空的.这有用吗?
要检查几件事:
badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+')
Run Code Online (Sandbox Code Playgroud)
应该可以'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.
我会更像这样编写代码:
bad_links = []
brokenLink = {
:onPage => @lastPage,
:link => @nextPage
}
bad_links << brokenLink
File.write(arrayFilePath + 'badLinks.txt', bad_links.to_json)
Run Code Online (Sandbox Code Playgroud)
这没有经过测试,但它更有意义,而且是惯用的Ruby.