るりまサーチ (Ruby 3.1)

最速Rubyリファレンスマニュアル検索!
68件ヒット [1-68件を表示] (0.027秒)
トップページ > バージョン:3.1[x] > クエリ:ver[x] > ライブラリ:ビルトイン[x]

別のキーワード

  1. optparse ver
  2. optionparser ver
  3. bigdecimal ver
  4. ver optparse

検索結果

Encoding::Converter#convert(source_string) -> String (27307.0)

与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。

与えられた文字列を変換して、変換できた結果を返します。
引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。
変換を終了させるには Encoding::Converter#finish を呼びます。

Encoding::Converter を用いると、文字列の一部または全部を渡して変換を行うことができます。よって、不正なバイトを意識せずにストリームから読み出した文字列を変換したいときには Encoding::Converter が適します。

なお、Encoding::Converter#convert では、これらの例外を捕獲しても、例外を起こしたと...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer) -> Symbol (27307.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset) -> Symbol (27307.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize) -> Symbol (27307.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize, options) -> Symbol (27307.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@...

絞り込み条件を変える

Array#reverse -> Array (18307.0)

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。
reverse! は自身を破壊的に並べ替えます。
reverse! は self を返します。

//emlist[例][ruby]{
a = ["a", 2, true]
p a.reverse #=> [true, 2, "a"]
p a #=> ["a", 2, true] (変化なし)

a = ["a", 2, true]
p a.reverse! #=> [true, 2, "a"]
p a #=> [true, ...

Array#reverse! -> self (18307.0)

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。
reverse! は自身を破壊的に並べ替えます。
reverse! は self を返します。

//emlist[例][ruby]{
a = ["a", 2, true]
p a.reverse #=> [true, 2, "a"]
p a #=> ["a", 2, true] (変化なし)

a = ["a", 2, true]
p a.reverse! #=> [true, 2, "a"]
p a #=> [true, ...

Array#reverse_each -> Enumerator (18307.0)

各要素に対して逆順にブロックを評価します。

各要素に対して逆順にブロックを評価します。

ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}

@see Array#each

Array#reverse_each {|item| ... } -> self (18307.0)

各要素に対して逆順にブロックを評価します。

各要素に対して逆順にブロックを評価します。

ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}

@see Array#each

Array.try_convert(obj) -> Array | nil (18307.0)

to_ary メソッドを用いて obj を配列に変換しようとします。

to_ary メソッドを用いて obj を配列に変換しようとします。

何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。

//emlist[例][ruby]{
Array.try_convert([1]) # => [1]
Array.try_convert("1") # => nil

if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument ...

絞り込み条件を変える

Binding#receiver -> object (18307.0)

保持するコンテキスト内での self を返します。

保持するコンテキスト内での self を返します。

このメソッドは以下のコードと同様の動作をします。

//emlist[][ruby]{
binding.eval("self")
//}

ENV.invert -> Hash (18307.0)

環境変数の値をキー、名前を値とした Hash を生成して返します。

環境変数の値をキー、名前を値とした Hash を生成して返します。

Enumerable#reverse_each -> Enumerator (18307.0)

逆順に各要素に対してブロックを評価します。

逆順に各要素に対してブロックを評価します。

内部で各要素を保持した配列を作ります。

ブロックを省略した場合は、各要素を逆順に辿る
Enumerator を返します。

//emlist[例][ruby]{
{a: 1, b: 2, c: 3}.reverse_each # => #<Enumerator: ...>
{a: 1, b: 2, c: 3}.reverse_each { |v| p v }
# => [:c, 3]
# [:b, 2]
# [:a, 1]
//}

Enumerable#reverse_each {|element| ... } -> self (18307.0)

逆順に各要素に対してブロックを評価します。

逆順に各要素に対してブロックを評価します。

内部で各要素を保持した配列を作ります。

ブロックを省略した場合は、各要素を逆順に辿る
Enumerator を返します。

//emlist[例][ruby]{
{a: 1, b: 2, c: 3}.reverse_each # => #<Enumerator: ...>
{a: 1, b: 2, c: 3}.reverse_each { |v| p v }
# => [:c, 3]
# [:b, 2]
# [:a, 1]
//}

FrozenError#receiver -> object (18307.0)

self が発生した時のレシーバオブジェクトを返します。

self が発生した時のレシーバオブジェクトを返します。

@raise ArgumentError レシーバが設定されていない時に発生します。

//emlist[][ruby]{
begin
[1, 2, 3].freeze << 4
rescue FrozenError => err
p err.receiver # => [1, 2, 3]
end
//}

絞り込み条件を変える

GC.verify_compaction_references(toward: nil, double_heap: nil) -> Hash (18307.0)

コンパクションの参照の一貫性を検証します。

コンパクションの参照の一貫性を検証します。

このメソッドは処理系依存 (CRuby 特有) です。
コンパクション中に移動されたオブジェクトは T_MOVED オブジェクトに置き換えられます。
コンパクション後には T_MOVED を参照するオブジェクトは存在するべきではありません。

この関数は全てのオブジェクトが移動する余地を確保するためにヒープを2倍にして、
全ての移動を確実にするためにヒープをコンパクションして、全ての参照を更新して、
それからフルGCを実行します。
もし T_MOVED への参照をもつオブジェクトがあれば、マークスタックにプッシュされて、
SEGV が起きるでしょ...

Hash#invert -> Hash (18307.0)

値からキーへのハッシュを作成して返します。

値からキーへのハッシュを作成して返します。

異なるキーに対して等しい値が登録されている場合、最後に定義されている値が使用されます。

//emlist[例][ruby]{
h = { "a" => 0, "b" => 100, "c" => 200, "d" => 300, "e" => 300 }
p h.invert #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}
//}

=== 参考
値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。

//emlist[][ruby]{
def safe_invert(o...

Hash.try_convert(obj) -> Hash | nil (18307.0)

to_hash メソッドを用いて obj をハッシュに変換しようとします。

to_hash メソッドを用いて obj をハッシュに変換しようとします。

何らかの理由で変換できないときには nil を返します。
このメソッドは引数がハッシュであるかどうかを調べるために使えます。

//emlist[][ruby]{
Hash.try_convert({1=>2}) # => {1=>2}
Hash.try_convert("1=>2") # => nil
//}

IO.try_convert(obj) -> IO | nil (18307.0)

obj を to_io メソッドによって IO オブジェクトに変換します。 変換できなかった場合は nil を返します。

obj を to_io メソッドによって IO オブジェクトに変換します。
変換できなかった場合は nil を返します。

IO.try_convert(STDOUT) # => STDOUT
IO.try_convert("STDOUT") # => nil

Integer.try_convert(obj) -> Integer | nil (18307.0)

obj を Integer に変換しようと試みます。変換には Object#to_int メソッドが使われます。

obj を Integer に変換しようと試みます。変換には Object#to_int
メソッドが使われます。

Integer ならそのままobjを返します。
そうでなければ obj.to_int の結果を返すか、nil が返されます。

@param obj 変換する任意のオブジェクト
@return Integer または nil
@raise TypeError to_int が Integer を返さなかった場合に発生します。

//emlist[例][ruby]{
Integer.try_convert(1) # => 1
Integer.try_conve...

絞り込み条件を変える

KeyError#receiver -> object (18307.0)

KeyError の原因となったメソッド呼び出しのレシーバを返します。

KeyError の原因となったメソッド呼び出しのレシーバを返します。

@raise ArgumentError レシーバが設定されていない時に発生します。

例:

h = Hash.new
begin
h.fetch('gumby'*20)
rescue KeyError => e
p e.message # => "key not found: \"gumbygumbygumbygumbygumbygumbygumbygumbygumbygumbygumbygumbyg..."
p h.equal?(e.receiver) ...

Marshal::MAJOR_VERSION -> Integer (18307.0)

Marshal.#dump が出力するデータフォーマットのバージョン番号です。

Marshal.#dump が出力するデータフォーマットのバージョン番号です。

Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。

マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、
$VERBOSE = true のときには警告メッセージが出力されます

マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。

//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(o...

Marshal::MINOR_VERSION -> Integer (18307.0)

Marshal.#dump が出力するデータフォーマットのバージョン番号です。

Marshal.#dump が出力するデータフォーマットのバージョン番号です。

Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。

マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、
$VERBOSE = true のときには警告メッセージが出力されます

マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。

//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(o...

Method#receiver -> object (18307.0)

このメソッドオブジェクトのレシーバを返します。

このメソッドオブジェクトのレシーバを返します。

//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end

m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.receiver # => #<Foo:0x007fb39203eb78>
m.receiver.foo(1) # => "foo called with arg 1"
//}

NameError#receiver -> object (18307.0)

self が発生した時のレシーバオブジェクトを返します。

self が発生した時のレシーバオブジェクトを返します。

例:

class Sample
def foo
return "foo"
end
end

bar = Sample.new
begin
bar.bar
rescue NameError => err
p err.receiver # => #<Sample:0x007fd4d89b3110>
p err.receiver.foo # => "foo"
end

絞り込み条件を変える

Object::RUBY_ENGINE_VERSION -> String (18307.0)

Ruby処理系実装のバージョンを表す文字列。

Ruby処理系実装のバージョンを表す文字列。

Object::RUBY_VERSION -> String (18307.0)

Ruby のバージョンを表す文字列。

Ruby のバージョンを表す文字列。

Ruby のバージョンは、major.minor.teeny という形式です。

Range#cover?(obj) -> bool (18307.0)

obj が範囲内に含まれている時に true を返します。

obj が範囲内に含まれている時に true を返します。

Range#include? と異なり <=> メソッドによる演算により範囲内かどうかを判定します。
Range#include? は原則として離散値を扱い、
Range#cover? は連続値を扱います。
(数値については、例外として Range#include? も連続的に扱います。)

Range#exclude_end?がfalseなら「begin <= obj <= end」を、
trueなら「begin <= obj < end」を意味します。

@param obj 比較対象のオブジェクトを指定します。

//eml...

Range#cover?(range) -> bool (18307.0)

2.6 以降の cover? は、Range#include? や Range#=== と異なり、 引数に Range オブジェクトを指定して比較できます。

2.6 以降の cover? は、Range#include? や Range#=== と異なり、
引数に Range オブジェクトを指定して比較できます。

引数が Range オブジェクトの場合、引数の範囲が self の範囲に含まれる時に true を返します。

@param range 比較対象の Range クラスのインスタンスを指定します。

//emlist[引数が Range の例][ruby]{
(1..5).cover?(2..3) #=> true
(1..5).cover?(0..6) #=> false
(1..5).cover?(1...6) ...

Rational#convert(*arg) -> Rational (18307.0)

引数を有理数(Rational)に変換した結果を返します。

引数を有理数(Rational)に変換した結果を返します。

@param arg 変換対象のオブジェクトです。

Kernel.#Rational の本体です。

@see Kernel.#Rational

絞り込み条件を変える

Regexp.try_convert(obj) -> Regexp | nil (18307.0)

obj を to_regexp メソッドで Regexp オブジェクトに変換しようと 試みます。

obj を to_regexp メソッドで Regexp オブジェクトに変換しようと
試みます。

変換に成功した場合はそれを返し、失敗時には nil を返します。

//emlist[例][ruby]{
Regexp.try_convert(/re/) # => /re/
Regexp.try_convert("re") # => nil
//}

String#reverse -> String (18307.0)

文字列を文字単位で左右逆転した文字列を返します。

文字列を文字単位で左右逆転した文字列を返します。

//emlist[例][ruby]{
p "foobar".reverse # => "raboof"
p "".reverse # => ""
//}

String#reverse! -> self (18307.0)

文字列を文字単位で左右逆転します。

文字列を文字単位で左右逆転します。

//emlist[例][ruby]{
str = "foobar"
str.reverse!
p str # => "raboof"
//}

String.try_convert(obj) -> String | nil (18307.0)

obj を String に変換しようと試みます。変換には Object#to_str メソッ ドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかっ た場合は nil が返されます。

obj を String に変換しようと試みます。変換には Object#to_str メソッ
ドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかっ
た場合は nil が返されます。

@param obj 変換する任意のオブジェクト
@return 変換後の文字列または nil

//emlist[例][ruby]{
String.try_convert("str") # => "str"
String.try_convert(/re/) # => nil
//}

Encoding::Converter (18007.0)

文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。

文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。

Encoding::Converter を用いて変換を行う場合は、Encoding::Converter#convert か、より細かな変換処理が可能な Encoding::Converter#primitive_convert が利用できます。
エンコーディングを変換するメソッドはこの他に String#encode, NKF.#nkf
などがあります。

絞り込み条件を変える

Encoding::ConverterNotFoundError (18007.0)

指定した名前のエンコーディング変換をする変換器が 存在しない場合に発生する例外。

指定した名前のエンコーディング変換をする変換器が
存在しない場合に発生する例外。

//emlist[例][ruby]{
"あ".encode("Foo")
#=> Encoding::ConverterNotFoundError: code converter not found (UTF-8 to Foo)
//}

Encoding::UndefinedConversionError (18007.0)

エンコーディング変換後の文字が存在しない場合に発生する例外。

エンコーディング変換後の文字が存在しない場合に発生する例外。

UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに発生します。

//emlist[例][ruby]{
"\u2603".encode(Encoding::EUC_JP)
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}


変換が多段階でなされ、その途中で例外が生じた場合は、
例外オブジェクトが保持するエラー情報はその中間のものになります。

//emlist[例][ruby]{
ec = Encoding::Co...

Errno::ENOTRECOVERABLE (18007.0)

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Errno::EOVERFLOW (18007.0)

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Encoding::Converter.new(convpath) -> Encoding::Converter (9307.0)

Encoding::Converter オブジェクトを作成します。

Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options では String#encode でのハッシュオプションに加えて、以下の定数が利用可能です。

* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_RE...

絞り込み条件を変える

Encoding::Converter.new(source_encoding, destination_encoding) -> Encoding::Converter (9307.0)

Encoding::Converter オブジェクトを作成します。

Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options では String#encode でのハッシュオプションに加えて、以下の定数が利用可能です。

* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_RE...

Encoding::Converter.new(source_encoding, destination_encoding, options) -> Encoding::Converter (9307.0)

Encoding::Converter オブジェクトを作成します。

Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options では String#encode でのハッシュオプションに加えて、以下の定数が利用可能です。

* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_RE...

Kernel$$VERBOSE -> bool | nil (9307.0)

冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。

冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。

警告レベルは三段階あり、それぞれ以下の通りです。

: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する

$VERBOSE に nil, false 以外を代入すると値は true になります。

$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-...

Encoding::Converter#convpath -> Array (9007.0)

変換器が行う変換の経路を配列にして返します。

変換器が行う変換の経路を配列にして返します。

@return 変換器が行う変換の経路の配列

//emlist[][ruby]{
ec = Encoding::Converter.new("ISo-8859-1", "EUC-JP", crlf_newline: true)
p ec.convpath
#=> [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>],
# [#<Encoding:UTF-8>, #<Encoding:EUC-JP>],
# "crlf_newline"]
//}

@see Encoding::Converter....

Encoding::Converter#destination_encoding -> Encoding (9007.0)

変換先のエンコーディングを返します。

変換先のエンコーディングを返します。

@return 変換先のエンコーディング

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "euc-jp")
ec.destination_encoding #=> #<Encoding:EUC-JP>
//}

絞り込み条件を変える

Encoding::Converter#finish -> String (9007.0)

変換処理を終了し、結果文字列の末尾を返します。 変換元の文字列の末尾がバイト列の途中で終わっていた場合、保持しているバイト列全てを返します。

変換処理を終了し、結果文字列の末尾を返します。
変換元の文字列の末尾がバイト列の途中で終わっていた場合、保持しているバイト列全てを返します。

@return 変換結果の末尾
@raise Encoding::InvalidByteSequenceError 変換元のエンコーディングにお
いて不正なバイト列があった場合に発生します。

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
p ec.convert("\u3042") #=> "\e$B$\""
p ec.finish ...

Encoding::Converter#insert_output(string) -> nil (9007.0)

変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。

変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。

変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。

このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。

@param string 挿入する文字列

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec....

Encoding::Converter#inspect -> String (9007.0)

Encoding::Converter オブジェクトの情報を簡単に表示します。

Encoding::Converter オブジェクトの情報を簡単に表示します。

@return 変換器の情報を簡単に可視化した文字列です。

Encoding::Converter#last_error -> Exception | nil (9007.0)

直前に変換器で発生した例外に相当する例外オブジェクトを返します。 直前の変換で例外が発生していない場合は nil を返します。

直前に変換器で発生した例外に相当する例外オブジェクトを返します。
直前の変換で例外が発生していない場合は nil を返します。

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
p ec.primitive_convert(src="\xf1abcd", dst="") #=> :invalid_byte_sequence
p ec.last_error #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a"...

Encoding::Converter#primitive_errinfo -> Array (9007.0)

直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。

直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。

@return [result, enc1, enc2, error_bytes, readagain_bytes] という五要素の配列

result は直前の primitive_convert の戻り値です。
それ以外の四要素は :invalid_byte_sequence か :incomplete_input か :undefined_conversion だった場合に意味を持ちます。
enc1 はエラーの発生した原始変換の変換元のエンコーディング...

絞り込み条件を変える

Encoding::Converter#putback -> String (9007.0)

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。

@param max_numbytes 取得するバイト列の最大値

@return 格納されていたバイト列

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>...

Encoding::Converter#putback(max_numbytes) -> String (9007.0)

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。

@param max_numbytes 取得するバイト列の最大値

@return 格納されていたバイト列

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>...

Encoding::Converter#replacement -> String (9007.0)

変換器に設定されている置換文字を返します。

変換器に設定されている置換文字を返します。

@return 変換器に設定されている置換文字

//emlist[][ruby]{
ec = Encoding::Converter.new("euc-jp", "us-ascii")
p ec.replacement #=> "?"

ec = Encoding::Converter.new("euc-jp", "utf-8")
p ec.replacement #=> "\uFFFD"
//}

Encoding::Converter#replacement=(string) (9007.0)

置換文字を設定します。

置換文字を設定します。

@param string 変換器に設定する置換文字

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "us-ascii", :undef => :replace)
ec.replacement = "<undef>"
p ec.convert("a \u3042 b") #=> "a <undef> b"
//}

Encoding::Converter#source_encoding -> Encoding (9007.0)

変換元のエンコーディングを返します。

変換元のエンコーディングを返します。

@return 変換元のエンコーディング

//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "euc-jp")
ec.source_encoding #=> #<Encoding:UTF-8>
//}

絞り込み条件を変える

Encoding::Converter.asciicompat_encoding(encoding) -> Encoding | nil (9007.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

@param string エンコーディング名
@param encoding エンコーディングオブジェクト
@return ASCII 互換エンコーディングのオブジェクトか nil

引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。
引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。

//emlist[][ruby]{
Encoding::Con...

Encoding::Converter.asciicompat_encoding(string) -> Encoding | nil (9007.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

@param string エンコーディング名
@param encoding エンコーディングオブジェクト
@return ASCII 互換エンコーディングのオブジェクトか nil

引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。
引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。

//emlist[][ruby]{
Encoding::Con...

Encoding::Converter.search_convpath(source_encoding, destination_encoding, options) -> Array (9007.0)

引数で指定した文字エンコーディングの変換の経路を配列にして返します。

引数で指定した文字エンコーディングの変換の経路を配列にして返します。

@param source_encoding 変換元の文字エンコーディングを Encoding オ
ブジェクトか文字列で指定します。

@param destination_encoding 変換先の文字エンコーディングを
Encoding オブジェクトか文字列で指定し
ます。

@param options 変換の詳細を指定する定数やハッシュを指定します。
...

Encoding::UndefinedConversionError#destination_encoding -> Encoding (9007.0)

エラーを発生させた変換の変換先のエンコーディングを Encoding オブジェクトで返します。

エラーを発生させた変換の変換先のエンコーディングを Encoding
オブジェクトで返します。

@see Encoding::UndefinedConversionError#source_encoding

Encoding::UndefinedConversionError#destination_encoding_name -> String (9007.0)

エラーを発生させた変換の変換先のエンコーディングを文字列で返します。

エラーを発生させた変換の変換先のエンコーディングを文字列で返します。

@see Encoding::UndefinedConversionError#destination_encoding

絞り込み条件を変える

Encoding::UndefinedConversionError#error_char -> String (9007.0)

エラーを発生させた1文字を文字列で返します。

エラーを発生させた1文字を文字列で返します。

//emlist[例][ruby]{
ec = Encoding::Converter.new("UTF-8", "EUC-JP")
begin
ec.convert("\u{a0}")
rescue Encoding::UndefinedConversionError
puts $!.error_char.dump #=> "\u{a0}"
end
//}

Encoding::UndefinedConversionError#source_encoding -> Encoding (9007.0)

エラーを発生させた変換の変換元のエンコーディングを Encoding オブジェクトで返します。

エラーを発生させた変換の変換元のエンコーディングを Encoding
オブジェクトで返します。

変換が多段階になされる場合は元の文字列のものではない
エンコーディングが返される場合があることに注意してください。

@see Encoding::UndefinedConversionError#destination_encoding

Encoding::UndefinedConversionError#source_encoding_name -> Encoding (9007.0)

エラーを発生させた変換の変換元のエンコーディングを文字列で返します。

エラーを発生させた変換の変換元のエンコーディングを文字列で返します。

@see Encoding::UndefinedConversionError#source_encoding

FrozenError.new(error_message = "", receiver:) -> FrozenError (307.0)

例外オブジェクトを生成して返します。

例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param receiver 原因となったメソッド呼び出しのレシーバです

//emlist[][ruby]{
err = FrozenError.new("message")
p err # => #<FrozenError: message>
//}

KeyError.new(error_message = "", receiver:) -> KeyError (307.0)

例外オブジェクトを生成して返します。

例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param receiver 原因となったメソッド呼び出しのレシーバ
@param key 原因となったメソッド呼び出しのキー

//emlist[例][ruby]{
h = {foo: 1}
err = KeyError.new("Message", receiver: h, key: :bar)
p err.message # => "Message"
p err.receiver # => {:foo=>1}
p err.key # => :ba...

絞り込み条件を変える

KeyError.new(error_message = "", receiver:, key:) -> KeyError (307.0)

例外オブジェクトを生成して返します。

例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param receiver 原因となったメソッド呼び出しのレシーバ
@param key 原因となったメソッド呼び出しのキー

//emlist[例][ruby]{
h = {foo: 1}
err = KeyError.new("Message", receiver: h, key: :bar)
p err.message # => "Message"
p err.receiver # => {:foo=>1}
p err.key # => :ba...

NameError.new(error_message = "", name = nil, receiver:) -> NameError (307.0)

例外オブジェクトを生成して返します。

例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param name 未定義だったシンボルです

@param receiver 原因となったメソッド呼び出しのレシーバです

例:

err = NameError.new("message", "foo")
p err # => #<NameError: message>
p err.name # => "foo"

NoMethodError.new(error_message = "", name = nil, args = nil, priv = false, receiver:) -> NoMethodError (307.0)

例外オブジェクトを生成して返します。

例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param name 未定義だったシンボルです

@param args メソッド呼び出しに使われた引数です

@param priv private なメソッドを呼び出せる形式 (関数形式(レシーバを省略した形式)) で呼ばれたかどうかを指定します
@param receiver 原因となったメソッド呼び出しのレシーバです

例:

nom = NoMethodError.new("message", "foo", [1,2,3])
p nom.name
p ...