【发布时间】:2015-08-16 20:11:10
【问题描述】:
我的 while 循环不知何故被破坏了。我收到这个错误:
`block in scrape': undefined method `post_match' for nil
:NilClass (NoMethodError)
它在遍历字符串后也像预期的那样返回 nil,并且它也像预期的那样填充数组,但是最后一次碰到 .post_match 它失败了,因为它是 nil .. 但它应该是 nil .. 不知道该怎么办??我希望它只填充数组,然后在 parent_pic_first 为 nil 时退出循环。
parent_pic_first = /\"hiRes\":\"/.match(pic).post_match
while parent_pic_first != nil
parent_pic = URI.extract(parent_pic_first, ['http'])
pic_list = []
pic_list.push(parent_pic[0])
parent_pic_first = /\"hiRes\":\"/.match(parent_pic_first).post_match
end
【问题讨论】:
-
介意给出确切的错误吗?作为快速检查,当您将
!= nil替换为parent_pic_first.nil?时会发生什么 -
用错误更新帖子.. 但是 parent_pic_first.nil?不是我真正想要的.. 因为如果它是 nil 而我使用了 parent_pic_first.nil?这将是真的.. 我希望它是假的.. 基本上!.nil?如果有这样的事情?
-
是的,实际上是
!parent_pic_first.nil?IIRC。已经有一段时间了。
标签: ruby-on-rails ruby string while-loop