gpt4 book ai didi

Ruby:忽略零?

转载 作者:数据小太阳 更新时间:2023-10-29 07:28:41 30 4
gpt4 key购买 nike

我正在尝试解析一堆 json 属性并将它们分配给哈希。 json 有很多层次:

player[:position]=player["positions"]["primary_position"]["position"]["name"]

我遇到的问题是,这几个级别中的任何一个都可能是nil,也就是说我需要写四个单独的nil?检查只是为了提取值。

我不关心 nil 值——如果数组只是将它们记录为 "" 或类似的东西就好了。

有什么方法可以关闭这种特定类型的东西的 nil 错误吗?或者我应该通过 rescue 方法运行整个过程,该方法在 nil 的情况下返回我想要的值吗?

最佳答案

您可以使用 andand gem,类似于 Maybe monad .

player[:position] = player.andand["positions"].andand["primary_position"].andand["position"].andand["name"]

这是一个 protected 方法调用。如果结果不是nil,它只会继续将方法发送给对象,否则返回nil。这样,当其中一个返回 nil 时,链式调用就会停止。

关于Ruby:忽略零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22460181/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com