本文简要介绍ruby语言中 String.new
的用法。
用法
new(string = '') → new_string
new(string = '', encoding: encoding) → new_string
new(string = '', capacity: size) → new_string
返回一个新字符串,它是 string
的副本。
不带参数,返回带有 Encoding
ASCII-8BIT
的空字符串:
s = String.new
s # => ""
s.encoding # => #<Encoding:ASCII-8BIT>
使用单个字符串参数 string
,返回 string
的副本,其编码与 string
相同:
s = String.new("Que veut dire \u{e7}a?")
s # => "Que veut dire \u{e7}a?"
s.encoding # => #<Encoding:UTF-8>
""
或 here-documents 等文字字符串始终使用 script encoding ,与 String.new
不同。
使用关键字 encoding
,返回具有指定编码的 str
的副本:
s = String.new(encoding: 'ASCII')
s.encoding # => #<Encoding:US-ASCII>
s = String.new('foo', encoding: 'ASCII')
s.encoding # => #<Encoding:US-ASCII>
请注意,这些是等效的:
s0 = String.new('foo', encoding: 'ASCII')
s1 = 'foo'.force_encoding('ASCII')
s0.encoding == s1.encoding # => true
使用关键字 capacity
,返回 str
的副本;给定的capacity
可能会设置内部缓冲区的大小,这可能会影响性能:
String.new(capacity: 1) # => ""
String.new(capacity: 4096) # => ""
string
、 encoding
和 capacity
参数可以一起使用:
String.new('hello', encoding: 'UTF-8', capacity: 25)
相关用法
- Ruby String.next用法及代码示例
- Ruby String.match?用法及代码示例
- Ruby String.unpack用法及代码示例
- Ruby String.scan用法及代码示例
- Ruby String.dump用法及代码示例
- Ruby String.oct用法及代码示例
- Ruby String.size用法及代码示例
- Ruby String.scrub用法及代码示例
- Ruby String.to_sym用法及代码示例
- Ruby String.chop用法及代码示例
- Ruby String.bytesize用法及代码示例
- Ruby String.count用法及代码示例
- Ruby String.string <=>用法及代码示例
- Ruby String.ascii_only?用法及代码示例
- Ruby String.downcase用法及代码示例
- Ruby String.capitalize用法及代码示例
- Ruby String.length用法及代码示例
- Ruby String.lines用法及代码示例
- Ruby String.unicode_normalize用法及代码示例
- Ruby String.center用法及代码示例
- Ruby String.casecmp用法及代码示例
- Ruby String.index用法及代码示例
- Ruby String.each_line用法及代码示例
- Ruby String.capitalize!用法及代码示例
- Ruby String.swapcase用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 String.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。