【问题标题】:Ruby safe operator for the last element最后一个元素的 Ruby 安全运算符
【发布时间】:2021-01-28 15:35:42
【问题描述】:

我想检查 resource[:contractor](资源是哈希)是否包括 bank_transfer.creeditor_name(字符串),如下所示:

resource['contractor'].include?(bank_transfer.creditor_name)

bank_transfer.creditor_name = nil 时我需要覆盖案例 - 如何使用 ruby​​ 安全运算符做到这一点?在当前的实现中,我遇到了一个错误:

 TypeError:
   no implicit conversion of nil into String

从业务角度来看,我不能只做:

bank_transfer.creditor_name&.include?(resource['contractor'])

【问题讨论】:

  • resource['contractor'].include?(bank_transfer.creditor_name.to_s)是不是太可爱了?

标签: ruby-on-rails ruby


【解决方案1】:

您为什么不预先检查nil

bank_transfer.creditor_name && 
  resource['contractor'].include?(bank_transfer.creditor_name)

【讨论】:

    猜你喜欢
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2016-03-18
    • 1970-01-01
    • 2011-11-09
    • 2011-07-12
    • 1970-01-01
    相关资源
    最近更新 更多