所以我在我的数组上推送一些元素,如下所示:
upd_city_list << [ j.children[0].text.strip!.gsub(/\s+\W/, ''), j.children[1].text, j.children[1][:href] ]
以上是在迭代器中(因此使用j
)。
问题是有时j.children[0].text
会出现nil
,而 Ruby 不喜欢这样。
我可以在这个分配之前添加一堆 if 语句,但这对我来说似乎有点不雅。
在这种情况下,如何以优雅的方式处理 nil 案例?
一种可能的解决方案是,当有一个 nil 值时,只需将字符串推none
送到数组中......但这会是什么样子?
谢谢。
编辑1:
这是我得到的错误:
NoMethodError: private method ‘gsub’ called for nil:NilClass