本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。