ruby - 连接到 nil 应该在 Ruby 中返回 nil

标签 ruby string string-concatenation

我需要生成一个被括号包围的字符串,但前提是它的值不为空。目前我正在使用类似于:

[5] pry(main)> a = nil
=> nil
[6] pry(main)> a.nil? ? '' : "(#{a})"
=> ""
[7] pry(main)> a = "world"
=> "world"
[8] pry(main)> a.nil? ? '' : "(#{a})"
=> "(world)"

但我认为它是重复的。有没有更简单的方法?

最佳答案

您可以编写一个方法来执行此操作:

def bracketize(str)
  return '' unless (str)
  "(#{str})"
end

因为这可以清楚地说明您在做什么,并且您不必在所有地方标记此代码。

关于ruby - 连接到 nil 应该在 Ruby 中返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63082259/

相关文章:

ruby-on-rails - Ruby 的 REST 客户端提供 ActionController::InvalidAuthenticityToken

Ruby 使用 Nokogiri 解析 HTTPresponse

string - 如何根据 Bash 中的字符串获取 "random"数字?

c++ - 当第一个字符串在预处理器指令中定义而第二个字符串在 C++ 中为常量时,如何连接 2 个字符串?

javascript - React Native 占位符图标

java - 注释是 Java 中的某种 DSL 吗?

asp.net - 为什么 Time.strptime() 返回当前日期?

Javascript正则表达式替换下一个匹配

java - 如何对由 "null"和字符串组合的数组进行排序?

c# - 使用 "@"符号连接字符串中的变量