Ruby函数将字符串放在括号中

时间:2018-10-09 05:54:50

标签: ruby string

是否有函数像下面的str一样在字符串的两侧放置括号?

str = ' ( '.concat(str.concat(' ) '))

3 个答案:

答案 0 :(得分:4)

我更喜欢字符串插值,这只是用于替代解决方案 String#insert

> "Gagan Gami".insert(0, '(').insert(-1, ')')
#=> "(Gagan Gami)"
# OR
> "()".insert(1, "Gagan Gami")
#=> "(Gagan Gami)"

  

用于将字符串放在括号中的Ruby函数

> parentheses = "()"
> str = "Gagan Gami"
> parentheses.insert(1, str)
#=> "(Gagan Gami)"

答案 1 :(得分:3)

我将使用字符串插值:

str = " ( #{str} ) "

其他一些选项可能是:

str = ' ( ' +  str + ' ) '
str = [' ( ', str, ' ) '].join

答案 2 :(得分:0)

如果这是您经常需要的东西,您还可以猴子修补字符串类,并且更喜欢使用字符串插值。

class String
  def in_parens
    "( #{self} )"
  end
end

puts 'foo'.in_perens 
#=> ( foo )
puts ''.in_perens 
#=> ( )

require 'date'
puts Date.today.to_s.in_parens 
#=> ( 2018-10-09 )

date = Date.today.to_s.in_parens
puts date.in_parens
#=> ( ( 2018-10-09 ) )

你知道吗