種類
- インスタンスメソッド (42)
- 定数 (40)
- 特異メソッド (23)
- クラス (3)
クラス
-
ARGF
. class (3) - Array (2)
- Dir (2)
- Encoding (43)
-
Encoding
:: Converter (10) -
Encoding
:: InvalidByteSequenceError (7) - IO (22)
- Regexp (1)
- String (14)
- Symbol (1)
キーワード
-
ASCII
_ 8BIT (1) - BIG5 (1)
-
BIG5
_ HKSCS (1) -
BIG5
_ HKSCS _ 2008 (1) -
BIG5
_ UAO (1) - BINARY (1)
- Big5 (1)
-
Big5
_ HKSCS (1) -
Big5
_ HKSCS _ 2008 (1) -
Big5
_ UAO (1) - CP951 (1)
- CompatibilityError (1)
-
EBCDIC
_ CP _ US (1) - GB12345 (1)
- GB18030 (1)
- GB1988 (1)
- GBK (1)
- IBM037 (1)
- IBM437 (1)
- IBM737 (1)
- IBM775 (1)
- IBM850 (1)
- IBM852 (1)
- IBM855 (1)
- IBM857 (1)
- IBM860 (1)
- IBM861 (1)
- IBM862 (1)
- IBM863 (1)
- IBM864 (1)
- IBM865 (1)
- IBM866 (1)
- IBM869 (1)
- InvalidByteSequenceError (1)
-
SJIS
_ SOFTBANK (1) -
SJIS
_ SoftBank (1) - String (1)
-
UCS
_ 2BE (1) -
UCS
_ 4BE (1) -
UTF8
_ SOFTBANK (1) -
UTF8
_ SoftBank (1) -
UTF
_ 16BE (1) -
UTF
_ 32BE (1) -
ascii
_ compatible? (1) - compatible? (1)
- convert (1)
-
destination
_ encoding (1) -
destination
_ encoding _ name (1) - dummy? (1)
- encode (3)
-
error
_ bytes (1) - finish (1)
-
fixed
_ encoding? (1) -
for
_ fd (1) -
incomplete
_ input? (1) -
insert
_ output (1) - new (2)
- open (4)
- pack (2)
- pipe (8)
- popen (7)
-
primitive
_ convert (4) - putback (2)
-
readagain
_ bytes (1) - replacement= (1)
- scrub (3)
- scrub! (3)
-
set
_ encoding (6) -
source
_ encoding (1) -
source
_ encoding _ name (1) -
unicode
_ normalized? (1) - unpack (1)
-
valid
_ encoding? (1)
検索結果
先頭5件
-
Symbol
# encoding -> Encoding (87769.0) -
シンボルに対応する文字列のエンコーディング情報を表現した Encoding オブ ジェクトを返します。
シンボルに対応する文字列のエンコーディング情報を表現した Encoding オブ
ジェクトを返します。
例:
# encoding: utf-8
:foo.encoding # => #<Encoding:US-ASCII>
:あかさたな.encoding # => #<Encoding:UTF-8>
@see String#encoding -
String
# b -> String (78400.0) -
self の文字エンコーディングを ASCII-8BIT にした文字列の複製を返します。
self の文字エンコーディングを ASCII-8BIT にした文字列の複製を返します。
//emlist[例][ruby]{
'abc123'.encoding # => #<Encoding:UTF-8>
'abc123'.b.encoding # => #<Encoding:ASCII-8BIT>
//} -
Encoding
. compatible?(obj1 , obj2) -> Encoding | nil (69898.0) -
2つのオブジェクトのエンコーディングに関する互換性をチェックします。 互換性がある場合はそのエンコーディングを、 ない場合は nil を返します。
2つのオブジェクトのエンコーディングに関する互換性をチェックします。
互換性がある場合はそのエンコーディングを、
ない場合は nil を返します。
引数が両方とも文字列である場合、互換性があるならば
その文字列を結合できます。この場合返り値のエンコーディングは
結合した文字列が取るであろう Encoding オブジェクトを返します。
//emlist[例][ruby]{
Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
#=> #<Encoding:ISO-8859-1>
Encoding.compatible?... -
Encoding
:: BIG5 _ UAO -> Encoding (69631.0) -
Big5_UAO エンコーディングです。
Big5_UAO エンコーディングです。
Big5 の亜種(非公式的拡張)です。
Unicodeとの対応表が
http://moztw.org/docs/big5/table/big5_2003-b2u.txt
にあります。 -
Encoding
:: Big5 _ UAO -> Encoding (69631.0) -
Big5_UAO エンコーディングです。
Big5_UAO エンコーディングです。
Big5 の亜種(非公式的拡張)です。
Unicodeとの対応表が
http://moztw.org/docs/big5/table/big5_2003-b2u.txt
にあります。 -
Encoding
:: BIG5 _ HKSCS -> Encoding (69619.0) -
Big5-HKSCS エンコーディングです。
Big5-HKSCS エンコーディングです。
香港で使われている Big5 の亜種です。
@see http://www.iana.org/assignments/charset-reg/Big5-HKSCS,
http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/hkscs/ -
Encoding
:: BIG5 _ HKSCS _ 2008 -> Encoding (69619.0) -
Big5-HKSCS エンコーディングです。
Big5-HKSCS エンコーディングです。
香港で使われている Big5 の亜種です。
@see http://www.iana.org/assignments/charset-reg/Big5-HKSCS,
http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/hkscs/ -
Encoding
:: Big5 _ HKSCS -> Encoding (69619.0) -
Big5-HKSCS エンコーディングです。
Big5-HKSCS エンコーディングです。
香港で使われている Big5 の亜種です。
@see http://www.iana.org/assignments/charset-reg/Big5-HKSCS,
http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/hkscs/ -
Encoding
:: Big5 _ HKSCS _ 2008 -> Encoding (69619.0) -
Big5-HKSCS エンコーディングです。
Big5-HKSCS エンコーディングです。
香港で使われている Big5 の亜種です。
@see http://www.iana.org/assignments/charset-reg/Big5-HKSCS,
http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/hkscs/ -
Encoding
:: ASCII _ 8BIT -> Encoding (69613.0) -
ASCII-8BIT、ASCII互換オクテット列用のエンコーディングです。
ASCII-8BIT、ASCII互換オクテット列用のエンコーディングです。
もっぱら文字エンコーディングを持たないデータ、文字を符号化したのではない単なるバイトの列を表現するために用いますが、このエンコーディングは ASCII 互換であることがポイントです。 -
Encoding
:: BIG5 -> Encoding (69613.0) -
Big5 エンコーディングです。
Big5 エンコーディングです。
台湾で使われている繁体字中国語のエンコーディングです。
@see https://en.wikipedia.org/wiki/Big5 -
Encoding
:: BINARY -> Encoding (69613.0) -
ASCII-8BIT、ASCII互換オクテット列用のエンコーディングです。
ASCII-8BIT、ASCII互換オクテット列用のエンコーディングです。
もっぱら文字エンコーディングを持たないデータ、文字を符号化したのではない単なるバイトの列を表現するために用いますが、このエンコーディングは ASCII 互換であることがポイントです。 -
Encoding
:: Big5 -> Encoding (69613.0) -
Big5 エンコーディングです。
Big5 エンコーディングです。
台湾で使われている繁体字中国語のエンコーディングです。
@see https://en.wikipedia.org/wiki/Big5 -
Encoding
:: EBCDIC _ CP _ US -> Encoding (69613.0) -
IBM037 エンコーディング。
IBM037 エンコーディング。
ダミーエンコーディングです。
@see https://en.wikipedia.org/wiki/EBCDIC_037 -
Encoding
:: IBM037 -> Encoding (69613.0) -
IBM037 エンコーディング。
IBM037 エンコーディング。
ダミーエンコーディングです。
@see https://en.wikipedia.org/wiki/EBCDIC_037 -
Encoding
:: SJIS _ SOFTBANK -> Encoding (69613.0) -
SJIS-SoftBank エンコーディングです。
SJIS-SoftBank エンコーディングです。
Shift_JIS, CP932 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html -
Encoding
:: SJIS _ SoftBank -> Encoding (69613.0) -
SJIS-SoftBank エンコーディングです。
SJIS-SoftBank エンコーディングです。
Shift_JIS, CP932 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html -
Encoding
:: UCS _ 2BE -> Encoding (69613.0) -
UTF-16BE (ビッグエンディアン) です。
UTF-16BE (ビッグエンディアン) です。
BOM を含みません。 -
Encoding
:: UCS _ 4BE -> Encoding (69613.0) -
UTF-32BE (ビッグエンディアン) です。
UTF-32BE (ビッグエンディアン) です。
BOM を含みません。 -
Encoding
:: UTF8 _ SOFTBANK -> Encoding (69613.0) -
UTF8-SoftBank エンコーディングです。
UTF8-SoftBank エンコーディングです。
UTF-8 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html -
Encoding
:: UTF8 _ SoftBank -> Encoding (69613.0) -
UTF8-SoftBank エンコーディングです。
UTF8-SoftBank エンコーディングです。
UTF-8 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html -
Encoding
:: UTF _ 16BE -> Encoding (69613.0) -
UTF-16BE (ビッグエンディアン) です。
UTF-16BE (ビッグエンディアン) です。
BOM を含みません。 -
Encoding
:: UTF _ 32BE -> Encoding (69613.0) -
UTF-32BE (ビッグエンディアン) です。
UTF-32BE (ビッグエンディアン) です。
BOM を含みません。 -
Encoding
:: GB12345 -> Encoding (69610.0) -
GB 12345 エンコーディング。
GB 12345 エンコーディング。
GB 2312 から派生したもので、繁体字中国語を取り扱うエンコーディングです。 -
Encoding
:: GB18030 -> Encoding (69610.0) -
GBK エンコーディング
GBK エンコーディング
中国で用いられる中国語のエンコーディングです。
@see http://www.iana.org/assignments/charset-reg/GB18030 -
Encoding
:: GB1988 -> Encoding (69610.0) -
GB1988 エンコーディング。
GB1988 エンコーディング。
ISO/IEC 646 の中国版です。 -
Encoding
# ascii _ compatible? -> bool (69343.0) -
自身が ASCII 互換のエンコーディングである場合真返します。 そうでない場合は偽を返します。
自身が ASCII 互換のエンコーディングである場合真返します。
そうでない場合は偽を返します。
//emlist[例][ruby]{
Encoding::UTF_8.ascii_compatible? #=> true
Encoding::UTF_16BE.ascii_compatible? #=> false
//} -
Encoding
:: InvalidByteSequenceError # destination _ encoding -> Encoding (60733.0) -
エラーを発生させた変換の変換先のエンコーディングを Encoding オブジェクトで返します。
エラーを発生させた変換の変換先のエンコーディングを Encoding
オブジェクトで返します。
@see Encoding::InvalidByteSequenceError#source_encoding,
Encoding::UndefinedConversionError#destination_encoding -
Encoding
:: InvalidByteSequenceError # source _ encoding -> Encoding (60733.0) -
エラーを発生させた変換の変換元のエンコーディングを Encoding オブジェクトで返します。
エラーを発生させた変換の変換元のエンコーディングを Encoding
オブジェクトで返します。
@see Encoding::InvalidByteSequenceError#destination_encoding,
Encoding::UndefinedConversionError#source_encoding -
Encoding
:: InvalidByteSequenceError # source _ encoding _ name -> Encoding (60649.0) -
エラーを発生させた変換の変換元のエンコーディングを文字列で返します。
エラーを発生させた変換の変換元のエンコーディングを文字列で返します。
@see Encoding::InvalidByteSequenceError#source_encoding -
Encoding
:: IBM437 -> Encoding (60631.0) -
CP437 エンコーディング。
CP437 エンコーディング。
@see https://en.wikipedia.org/wiki/Code_page_437,
Encoding::CP869 -
Encoding
:: IBM869 -> Encoding (60631.0) -
CP869 エンコーディング。
CP869 エンコーディング。
ギリシャ語を取り扱う 8bit single-byteエンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_869,
Encoding::CP737 -
Encoding
:: GBK -> Encoding (60613.0) -
GBK エンコーディング
GBK エンコーディング
中国で用いられる簡体字中国語のエンコーディングです。
@see http://www.iana.org/assignments/character-sets,
http://www.iana.org/assignments/charset-reg/GBK,
http://www.microsoft.com/globaldev/reference/dbcs/936.mspx -
Encoding
:: IBM737 -> Encoding (60613.0) -
CP437 エンコーディング。
CP437 エンコーディング。
ギリシャ語を取り扱う 8bit single-byteエンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_737 -
Encoding
:: IBM775 -> Encoding (60613.0) -
CP775 エンコーディング。
CP775 エンコーディング。
バルト語派の言語を扱うための 8bit single-byteエンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_775 -
Encoding
:: IBM850 -> Encoding (60613.0) -
CP850 エンコーディング。
CP850 エンコーディング。
@see https://en.wikipedia.org/wiki/Code_page_850 -
Encoding
:: IBM852 -> Encoding (60613.0) -
CP852 エンコーディング。
CP852 エンコーディング。
ラテンアルファベットを用いる中欧の言語のための
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_852 -
Encoding
:: IBM855 -> Encoding (60613.0) -
CP855 エンコーディング。
CP855 エンコーディング。
キリル文字を用いる言語のための
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_855 -
Encoding
:: IBM857 -> Encoding (60613.0) -
CP857 エンコーディング。
CP857 エンコーディング。
トルコ語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_857 -
Encoding
:: IBM860 -> Encoding (60613.0) -
CP860 エンコーディング。
CP860 エンコーディング。
ポルトガル語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_860 -
Encoding
:: IBM861 -> Encoding (60613.0) -
CP861 エンコーディング。
CP861 エンコーディング。
アイスランド語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_861 -
Encoding
:: IBM862 -> Encoding (60613.0) -
CP862 エンコーディング。
CP862 エンコーディング。
ヘブライ語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_862 -
Encoding
:: IBM863 -> Encoding (60613.0) -
CP863 エンコーディング。
CP863 エンコーディング。
フランス語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_863 -
Encoding
:: IBM864 -> Encoding (60613.0) -
CP864 エンコーディング。
CP864 エンコーディング。
アラビア語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_864 -
Encoding
:: IBM865 -> Encoding (60613.0) -
CP865 エンコーディング。
CP865 エンコーディング。
北欧の諸言語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_865 -
Encoding
:: IBM866 -> Encoding (60613.0) -
CP866 エンコーディング。
CP866 エンコーディング。
キリル文字を使う諸言語に用いられる、
8bit single-byte エンコーディングです。
@see https://en.wikipedia.org/wiki/Code_page_866 -
Encoding
:: InvalidByteSequenceError # error _ bytes -> String (60379.0) -
エラー発生時に捨てられたバイト列を返します。
エラー発生時に捨てられたバイト列を返します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1\xFFdef")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
puts $!.error_bytes.dump ... -
Encoding
:: InvalidByteSequenceError # destination _ encoding _ name -> String (60346.0) -
エラーを発生させた変換の変換先のエンコーディングを文字列で返します。
エラーを発生させた変換の変換先のエンコーディングを文字列で返します。
@see Encoding::InvalidByteSequenceError#destination_encoding -
Encoding
:: InvalidByteSequenceError # readagain _ bytes -> String (60325.0) -
エラー発生時に読み直さなければならないバイト列を返します。
エラー発生時に読み直さなければならないバイト列を返します。
@see Encoding::InvalidByteSequenceError#error_bytes -
Encoding
:: CP951 -> Encoding (51382.0) -
CP951 エンコーディングです。
CP951 エンコーディングです。
Windows で使われる Big5-HKSCS の亜種です。
@see http://www.microsoft.com/hk/hkscs/default.aspx,
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0e6f5ac8-7baa-4571-b8e8-78b3b776afd7&DisplayLang=en,
http://blogs.msdn.com/b/shawnste/archive/2007/03/12/cp-951-hkscs.aspx -
Encoding
# dummy? -> bool (51343.0) -
自身がダミーエンコーディングである場合に true を返します。 そうでない場合に false を返します。
自身がダミーエンコーディングである場合に true を返します。
そうでない場合に false を返します。
ダミーエンコーディングとは Ruby が名前を知っているものの実質的には対応していないエンコーディングのことです。例えば、ダミーエンコーディングで符号化された文字列の場合、 String#length はマルチバイト文字を考慮せずにバイト列の長さを返します。
ダミーエンコーディングも IO の外部エンコーディングに指定できます。また
Ruby はサポートしていないが拡張ライブラリがサポートしているエンコーディングを扱う場合にも
用います。
//emlist[例][ruby]{
E... -
Encoding
:: Converter # putback -> String (51325.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 (51325.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
:: InvalidByteSequenceError (51061.0) -
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生 する例外。
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生
する例外。
通常エンコーディング変換時に発生します。
//emlist[例][ruby]{
"\x82\xa0".force_encoding("cp932").encode("UTF-8")
#=> "あ"
"\x82\xa0".force_encoding("EUC-JP").encode("UTF-8")
#=> Encoding::InvalidByteSequenceError: "\x82" on EUC-JP
//} -
Encoding
:: CompatibilityError (51025.0) -
2つのエンコーディング間に互換性がない場合に発生する例外。
2つのエンコーディング間に互換性がない場合に発生する例外。
エンコーディングの異なる文字列を連結しようとした場合などに発生します。
//emlist[例][ruby]{
"あ".encode("EUC-JP") + "あ".encode("UTF-8")
#=> Encoding::CompatibilityError: incompatible character encodings: EUC-JP and UTF-8
//} -
Regexp
# fixed _ encoding? -> bool (42916.0) -
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
//emlist[例][ruby]{
# -*- coding:utf-8 -*-
r = /a/
r.fixed_encoding? # => false
r.encoding # => #<Encoding:US-ASCII>
r =~ "\u{6666} a" # => 2
r =~ "\xa1\... -
String
# valid _ encoding? -> bool (42718.0) -
文字列の内容が、現在のエンコーディングに照らしあわせて妥当であれば true を返します。さもなくば false を返します。
文字列の内容が、現在のエンコーディングに照らしあわせて妥当であれば
true を返します。さもなくば false を返します。
//emlist[例][ruby]{
"\xc2\xa1".force_encoding("UTF-8").valid_encoding? #=> true
"\xc2".force_encoding("UTF-8").valid_encoding? #=> false
"\x80".force_encoding("UTF-8").valid_encoding? #=> false
//} -
IO
# set _ encoding(enc _ str , **opts) -> self (42442.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
# set _ encoding(ext _ enc) -> self (42442.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
# set _ encoding(ext _ enc , int _ enc , **opts) -> self (42442.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
Encoding
:: InvalidByteSequenceError # incomplete _ input? -> bool (42397.0) -
エラー発生時に入力文字列が不足している場合に真を返します。
エラー発生時に入力文字列が不足している場合に真を返します。
つまり、マルチバイト文字列の途中で文字列が終わっている場合に
真を返します。これは後続の入力を追加することでエラーが
解消する可能性があることを意味します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1z")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenc... -
String
# scrub -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub {|bytes| . . . } -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! {|bytes| . . . } -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub!(repl) -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub(repl) -> String (42397.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
ARGF
. class # set _ encoding(enc _ str , options = {}) -> self (42388.0) -
ARGF の外部/内部エンコーディングを設定します。 次以降に処理するファイルにも同じ設定が適用されます。
ARGF の外部/内部エンコーディングを設定します。
次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、
内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
@param enc_str 外部/内部エンコーディングを"A:B" のようにコロンで
区切って指定します。
@param ext_enc 外部エンコーディングを表す文字列か
Encoding オブジェクトを指定します。
@para... -
ARGF
. class # set _ encoding(ext _ enc) -> self (42388.0) -
ARGF の外部/内部エンコーディングを設定します。 次以降に処理するファイルにも同じ設定が適用されます。
ARGF の外部/内部エンコーディングを設定します。
次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、
内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
@param enc_str 外部/内部エンコーディングを"A:B" のようにコロンで
区切って指定します。
@param ext_enc 外部エンコーディングを表す文字列か
Encoding オブジェクトを指定します。
@para... -
ARGF
. class # set _ encoding(ext _ enc , int _ enc , options = {}) -> self (42388.0) -
ARGF の外部/内部エンコーディングを設定します。 次以降に処理するファイルにも同じ設定が適用されます。
ARGF の外部/内部エンコーディングを設定します。
次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、
内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
@param enc_str 外部/内部エンコーディングを"A:B" のようにコロンで
区切って指定します。
@param ext_enc 外部エンコーディングを表す文字列か
Encoding オブジェクトを指定します。
@para... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer) -> Symbol (33733.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 (33733.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 (33733.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 (33733.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # convert(source _ string) -> String (33325.0) -
与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。
与えられた文字列を変換して、変換できた結果を返します。
引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。
変換を終了させるには Encoding::Converter#finish を呼びます。
Encoding::Converter を用いると、文字列の一部または全部を渡して変換を行うことができます。よって、不正なバイトを意識せずにストリームから読み出した文字列を変換したいときには Encoding::Converter が適します。
なお、Encoding::Converter#convert では、これらの例外を捕獲しても、例外を起こしたと... -
Encoding
:: Converter # insert _ output(string) -> nil (33169.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 # finish -> String (33079.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 # replacement=(string) (33061.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"
//} -
Array
# pack(template , buffer: String . new) -> String (25369.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Dir
. open(path , encoding: Encoding . find("filesystem")) {|dir| . . . } -> object (25213.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
String
. new(string = "" , encoding: string . encoding , capacity: string . bytesize) -> String (25117.0) -
string と同じ内容の新しい文字列を作成して返します。 引数を省略した場合は空文字列を生成して返します。
string と同じ内容の新しい文字列を作成して返します。
引数を省略した場合は空文字列を生成して返します。
@param string 文字列
@param encoding 作成する文字列のエンコーディングを文字列か
Encoding オブジェクトで指定します(変換は行われま
せん)。省略した場合は引数 string のエンコーディングと同
じになります(ただし、string が指定されていなかった場合は
Encoding::ASCII_8BITになります... -
Array
# pack(template) -> String (25069.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
String
# unpack(template) -> Array (25069.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
String
# encode(encoding , from _ encoding , **options) -> String (24916.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
String
# encode(encoding , **options) -> String (24616.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
Dir
. open(path) {|dir| . . . } -> object (24613.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (24397.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (24397.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (24397.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (24397.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (24397.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
String (24367.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
文字列のクラスです。
ヌル文字を含む任意のバイト列を扱うことができます。
文字列の長さにはメモリ容量以外の制限はありません。
文字列は通常、文字列リテラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q... -
String
# unicode _ normalized?(form = :nfc) -> bool (24361.0) -
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か どうかを返します。
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か
どうかを返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
//emlist[例][ruby]{
"a\u0300".unicode_normalized? ... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (24343.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (24343.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (24343.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (24343.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) {|f| . . . } -> object (24343.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
String
# encode(**options) -> String (24316.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
IO
. popen("-" , mode = "r" , opt={}) {|io| . . . } -> object (24313.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
...