gpt4 book ai didi

Ruby 一行 if return 语句

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:14 26 4
gpt4 key购买 nike

有没有办法在 Ruby 上缩短这一行?

if (res = bla_permission_invalid).is_a? String then return res end

def something # many things that like this
if (res = bla_permission_invalid).is_a? String then return res end
# do something else
return true
end

当 bla_permission_invalid 的内容是这样的时候

def bla_permission_invalid
return invalid_address_report_func if invalid_address?
return permission_error_report_func if @user.not_one_of? [ :group1, :group2 ]
return nil
end

invalid_adress_report_funcpermission_error_report_func 返回字符串

最佳答案

如果可能的值是StringNilClass,那么代码可以简化为:

def something
res = bla_permission_invalid()
return res if res # strings are truthy, so they'll be returned but nil will proceed

# do something else
true
end

关于Ruby 一行 if return 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19586833/

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