我们可以通过多种方法来创建字符串对象。在其余的内容中,我们将借助语法及其支持的程序代码来理解它们。
此方法是在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的副本。
此方法是我们在方法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。
该方法是上述方法的一种变体。您还可以设置字符串的容量以指定内部缓冲区的大小。当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的容量。