julia - Julia 中的生成器表达式

标签 julia

我尝试在 Julia 中实现生成器表达式,但运行时遇到错误,我不知道如何修复。

julia> using JSON

julia> path = "test.txt"

julia> JSON.parse(readline(open(path)))
Dict{String,Any} with 16 entries:
  "nk" => 1
  "cy" => "Danvers"
  "c"  => "US"
  "hh" => "1.usa.gov"
  "r"  => "http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf"
  "a"  => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like …
  "h"  => "wfLQtf"
  "t"  => 1331923247
  "g"  => "A6qOVH"
  "tz" => "America/New_York"
  "ll" => {42.576698,-70.954903}
  "l"  => "orofrog"
  "hc" => 1331822918
  "gr" => "MA"
  "u"  => "http://www.ncbi.nlm.nih.gov/pubmed/22415991"
  "al" => "en-US,en;q=0.8"

julia> record = [JSON.parse(line) for line in eachline(open(path))]
ERROR: no method length(EachLine)
in anonymous at no file

最佳答案

您不能对长度未知的对象使用列表推导式。我认为你需要一个 while 循环。

我也不确定您是否可以对面向行的输入使用 JSON 解析,因为 JSON 边界可能会跨行边界出现。

关于julia - Julia 中的生成器表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24980278/

相关文章:

parallel-processing - MMap 和 SharedArray

string - 字符串的 Julia Int 值

indexing - Julia - 将 CartesianIndices 与数组一起使用

statistics - 迭代器的逐元素方差

namespaces - 在 Julia 中确定函数是从哪个模块导出的

csv - 导入 csv 在 Jupyter 笔记本中的初始位置 Julia 中返回编码标识符

julia - 我怎样才能在 Julia 中拥有一个元胞数组?

octave - 如何在Julia中对数组执行条件赋值?

stack-trace - Julia 中更长的堆栈跟踪

package - 检查函数属于 Julia 中的哪个包