クラス
-
Encoding
:: Converter (48) - Random (12)
- String (37)
- StringScanner (24)
キーワード
- byterindex (3)
- bytesplice (10)
- peek (12)
- peep (12)
-
primitive
_ convert (24) - putback (24)
- scrub (12)
- scrub! (12)
検索結果
先頭5件
-
Random
# bytes(size) -> String (18126.0) -
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
...ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[例][ruby]{
r2 = Random.new(1)
p r2.bytes(10) # => "%\xF4\xC1j\xEB\x80G\xFF\x8C/"
//}......ムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[例][ruby]{
r2 = Random.new(1)
p r2.bytes(10) # => "%\xF4\xC1j\xEB\x80G\xFF\x8C/"
//}
@see Random.bytes... -
String
# bytesplice(index , length , str) -> String (12237.0) -
self の一部または全部を str で置き換えて self を返します。
...ます。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとし......す。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param str_index str の範囲の始端
@param str_length str の範囲の長さ
@param range 置換したい文字列の範囲を示す Range オブジェクト
@param str_range......str の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
String
# bytesplice(index , length , str , str _ index , str _ length) -> String (12237.0) -
self の一部または全部を str で置き換えて self を返します。
...ます。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとし......す。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param str_index str の範囲の始端
@param str_length str の範囲の長さ
@param range 置換したい文字列の範囲を示す Range オブジェクト
@param str_range......str の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
String
# bytesplice(range , str) -> String (12237.0) -
self の一部または全部を str で置き換えて self を返します。
...ます。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとし......す。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param str_index str の範囲の始端
@param str_length str の範囲の長さ
@param range 置換したい文字列の範囲を示す Range オブジェクト
@param str_range......str の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
String
# bytesplice(range , str , str _ range) -> String (12237.0) -
self の一部または全部を str で置き換えて self を返します。
...ます。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとし......す。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param str_index str の範囲の始端
@param str_length str の範囲の長さ
@param range 置換したい文字列の範囲を示す Range オブジェクト
@param str_range......str の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
String
# bytesplice(index , length , str) -> String (12219.0) -
self の一部または全部を str で置き換えて self を返します。
...以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長さが調整されます。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param range 置換した......い文字列の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
String
# bytesplice(range , str) -> String (12219.0) -
self の一部または全部を str で置き換えて self を返します。
...以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長さが調整されます。
@param index 置換したい文字列の範囲の始端
@param length 置換したい文字列の範囲の長さ
@param range 置換した......い文字列の範囲を示す Range オブジェクト
@raise IndexError index や length が範囲外の場合に発生
@raise RangeError range が範囲外の場合に発生
@raise IndexError 指定した始端や終端が文字列の境界と一致しない場合に発生
@see String#byteslice... -
StringScanner
# peek(bytes) -> String (6315.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
...から長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバ......る予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の文字列の長さを超える分は無視されます。
bytes が 0 のとき、またはスキャンポイ......aise ArgumentError bytes に負数を与えると発生します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negativ... -
StringScanner
# peep(bytes) -> String (6315.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
...から長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバ......る予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の文字列の長さを超える分は無視されます。
bytes が 0 のとき、またはスキャンポイ......aise ArgumentError bytes に負数を与えると発生します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negativ... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize) -> Symbol (6237.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
...Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換......容量
@param options 変換の詳細を指定する定数やハッシュ
@return 変換結果を表す Symbol
options には以下が指定できます。
: hash form
:partial_input => true # source buffer may be part of larger source
:after_output => true # stop conversi......put before input
: integer form
Encoding::Converter::PARTIAL_INPUT
Encoding::Converter::AFTER_OUTPUT
戻り値は以下のうちのどれかです。
* :invalid_byte_sequence
* :incomplete_input
* :undefined_conversion
* :after_output
* :destination_buffer_full
* :source_buffer_emp... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize , options) -> Symbol (6237.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
...Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換......容量
@param options 変換の詳細を指定する定数やハッシュ
@return 変換結果を表す Symbol
options には以下が指定できます。
: hash form
:partial_input => true # source buffer may be part of larger source
:after_output => true # stop conversi......put before input
: integer form
Encoding::Converter::PARTIAL_INPUT
Encoding::Converter::AFTER_OUTPUT
戻り値は以下のうちのどれかです。
* :invalid_byte_sequence
* :incomplete_input
* :undefined_conversion
* :after_output
* :destination_buffer_full
* :source_buffer_emp... -
Encoding
:: Converter # putback(max _ numbytes) -> String (6237.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
...変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納され......00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=> :invalid_byte_sequence
p ec.primitive_errinfo #=> [:invalid_byte_sequence, "UTF-16LE", "UTF-8", "\x00\xD8", "a\x00"]
p ec.putback #=> "a\x00"
p ec.putback #=> "" # no more bytes to put back
//}... -
Encoding
:: Converter # putback -> String (6137.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
...変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納され......00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=> :invalid_byte_sequence
p ec.primitive_errinfo #=> [:invalid_byte_sequence, "UTF-16LE", "UTF-8", "\x00\xD8", "a\x00"]
p ec.putback #=> "a\x00"
p ec.putback #=> "" # no more bytes to put back
//}... -
String
# byterindex(pattern , offset = self . bytesize) -> Integer | nil (225.0) -
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。
...のインデックス offset から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規......[String#byteindex の場合][ruby]{
p "stringstring".byteindex("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
//}
//emlist[String#byterindex の場合][ruby]{
p "stringstring".byterindex("ing", -......探索を始める
# ing
# ing # 左にずらしていってここで見つかる
//}
@param pattern 探索する部分文字列または正規表現
@param offset 探索を始めるバイト単位のインデックス
//emlist[例][ruby]{
'foo'.byterindex('f') # =... -
String
# scrub!(repl) -> String (120.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
...self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,......ロックの戻り値で置き換えられます。
//emlist[例][ruby]{
"abc\u3042\x81".scrub! # => "abc\u3042\uFFFD"
"abc\u3042\x81".scrub!("*") # => "abc\u3042*"
"abc\u3042\xE3\x80".scrub!{|bytes| '<'+bytes.unpack('H*')[0]+'>' } # => "abc\u3042<e380>"
//}
@see String#scrub...