在Ruby中创建字符串

Ruby | 字符串创建

我们可以通过多种方法来创建字符串对象。在其余的内容中,我们将借助语法及其支持的程序代码来理解它们。

方法1:new(str =“”)

此方法是在Ruby的库中为String类定义和声明的公共类方法。此方法以返回新的String实例的方式工作,该实例是str String对象的副本。您将必须在new关键字和String类的帮助下调用此方法。

语法:

    String.new(str = "")

示例

=begin
  Ruby program to demonstrate String generation		
=end

puts "String.new(str) method implementation"

String.new(str="Hello there! You are at includehelp.com")

puts "The string object generated is: #{str}"

输出结果

String.new(str) method implementation
The string object generated is: Hello there! You are at includehelp.com

说明:

在上面的代码中,您可以观察到,借助于上述方法,我们正在生成String类的实例。我们将新方法与String类一起调用,并且已生成str的副本。

方法2:new(str =“”,encoding:enc)

此方法是我们在方法1中讨论的方法的一种变体。您可以传递一个可选的encoding参数以及指定在新String对象中使用的编码方法的方法。如果未指定编码参数,则默认使用ASCII 8位编码。

语法:

    String.new(str = "")
    str.encode(Encoding::enc)

示例

=begin
  Ruby program to demonstrate String generation		
=end

puts "String.new(str) method implementation"

String.new(str="Hello there! You are at includehelp.com")
puts "Encoding used is: #{str.encoding}"

puts "String.new(str) and encode method implementation"

String.new(str1="Hello there! You are at includehelp.com")
string=str1.encode(Encoding::ISO_8859_1)
puts "Encoding used is: #{string.encoding}"

输出结果

String.new(str) method implementation
Encoding used is: UTF-8
String.new(str) and encode method implementation
Encoding used is: ISO-8859-1

说明:

在上面的代码中,您可以观察到,借助于上面讨论的方法,我们可以设置要在字符串对象中使用的编码类型。您会看到默认编码为UTF-8,我们将其设置为ISO_8859_1

方法3:new(str =“”,capacity)

该方法是上述方法的一种变体。您还可以设置字符串的容量以指定内部缓冲区的大小。当String对象被多次连接时,这可以提高性能。

语法:

    String.new(str = "",capacity:size)

示例

=begin
  Ruby program to demonstrate String generation		
=end

puts "String.new(str,capacity) method implementation"

String.new(str="Hello there! You are at includehelp.com",capacity:120)
puts "Encoding used is: #{str.encoding} and str is #{str}"

输出结果

String.new(str,capacity) method implementation
Encoding used is: UTF-8 and str is Hello there! You are at includehelp.com

说明:

在上面的代码中,您可以观察到如何借助new方法设置String的容量。