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方法转换为字符串。最终表明,字符串插值将任何变量值隐式转换为字符串。