gpt4 book ai didi

ruby-on-rails - ruby:在进行不区分大小写的比较时如何避免 if-then-else 也处理 nil

转载 作者:太空宇宙 更新时间:2023-11-03 17:12:38 25 4
gpt4 key购买 nike

我经常发现自己不得不做额外的 nil 检查(以避免抛出“undefined for nil”错误),我很确定这是不必要的。

在一个常见的例子中,当查看可选的 url 参数时,例如可能存在也可能不存在,我希望它们不区分大小写(如果存在)。

例如,我的 Controller 方法之一允许(不需要)&showdate=true,我喜欢通过不关心 true vs TRUE vs True 来使其用户友好。

我只能说

@showdate = params[:showdate] == "true"

但假设是小写。

如果我这样做:

@showdate = params[:showdate].lower == "true"

如果 showdate 从 url 中丢失,它当然会抛出一个不需要的错误,因为 nil.lower 会抛出一个错误。

所以我最终在我的代码中做了很多时间这样的事情:

if params[:showdate] 
@showdate = params[:showdate].lower == "true"
else
@showdate = false (or maybe nil)

我知道有更好的方法,只是不知道它是什么。任何帮助将不胜感激。

最佳答案

@showdate = params[:showdate].to_s.downcase == "true"

关于ruby-on-rails - ruby:在进行不区分大小写的比较时如何避免 if-then-else 也处理 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6713816/

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