Ruby中的字符串串联
大多数情况下,您可能需要连接两个或多个字符串。串联只是意味着将两个或多个字符串连接在一起。结果可以存储在实际字符串中,也可以根据程序要求将新的内存分配给新字符串。Ruby为您提供了几种可以一次连接两个或两个以上字符串的方式。它们给出的结果相同,但是执行速度可能不同。让我们逐一讨论它们,并查看它们的示例以更好地理解该概念。
1)使用concat()
方法
usingconcat()
方法可以使执行更快,并且可以将字符串存储在同一对象中。请参考以下示例:
=begin Ruby program to concat strings using concat method. =end puts "Enter the string:" str = gets.chomp for i in 0..15 str.concat(i.to_s) end puts "The string is #{str}"
输出结果
Hrithik The string is Hrithik0123456789101112131415
在上面的代码中,您可以观察到我们正在创建一个名为str的对象并使用它调用concat()
方法。我们通过使用其值转换为字符串添加循环变量i的值.to_s方法,因为它需要提供字符串到concat()
方法,因为它返回字符串。如果您不提供字符串值,而是提供整数值,则它将视为ASCII码,并返回相应的符号。
2)使用+运算符
您也可以在+运算符的帮助下进行连接过程。请参考以下示例:
=begin Ruby program to concat strings using + operator. =end puts "Enter the string:" str = gets.chomp for i in 0..15 str=str+i.to_s end puts "The string is #{str}"
输出结果
Hrithik The string is Hrithik0123456789101112131415
3)使用<<运算符(追加)
也可以使用<<操作符来连接两个或多个字符串。它还将结果存储在同一对象中。请参考以下示例:
=begin Ruby program to concat strings using << operator. =end puts "Enter the string:" str = gets.chomp for i in 0..15 str<<i.to_s end puts "The string is #{str}"
输出结果
Hrithik The string is Hrithik0123456789101112131415
4)使用字符串插值
您必须已使用#{}符号使用puts()
方法来打印变量的值。您什么都不做,只是连接多个字符串并最终打印一个新字符串。请参考以下示例:
=begin Ruby program to concat strings using string interpolation. =end puts "Enter the string:" str = gets.chomp for i in 0..15 str="#{str}#{i}" end puts "The string is #{str}"
输出结果
Hrithik The string is Hrithik0123456789101112131415
在上面的示例中,您可以看到,如果要加入循环变量i的值,则无需使用.to_s方法转换为字符串。最终表明,字符串插值将任何变量值隐式转换为字符串。