是否有用于获取的哈希零检查



我正在使用facebook graph-api,我正在获取签到键。大多数地方都有这个签到键,但每隔一段时间,我就会发现一个没有签到的地方没有这个钥匙。有没有办法检查 nil 并防止以下代码炸毁我非常大的耙子?

graph.get_object(5811874893).fetch("checkins")
KeyError: key not found: "checkins"

x =  graph.get_object(x.place_id)["checkins"]

根据下面的反馈,我有以下错误,主题相同:无检查。你会如何处理这个问题?

nil can't be coerced into Fixnum

您是否尝试过查看has_key?是否可用,或者使用graph.get_object(5811874893)["checkins"]而不是graph.get_object(5811874893).fetch("checkins")

若要在没有签入时返回 0,请执行

graph.get_object(5811874893).fetch("checkins") { 0 }

fetch后的块指定"checkins"不存在时要执行的操作。

你为什么不做

graph.get_object(5811874893)["checkins"]

如果您使用 [] 访问哈希,则不会引发任何错误,并且您将获得一个 nil 值(只要哈希未将其设置为其他值)。

你想要的是这个:

graph.get_object(5811874893).fetch("checkins", 0)

fetch 接受表示默认值的第二个可选参数。

相关内容

  • 没有找到相关文章

最新更新