種類
- インスタンスメソッド (25)
- 特異メソッド (17)
- モジュール関数 (7)
- 文書 (6)
- クラス (2)
ライブラリ
クラス
-
ARGF
. class (3) - Encoding (1)
-
Encoding
:: Converter (3) - IO (7)
-
Net
:: IMAP (2) - String (11)
- StringScanner (5)
- Symbol (1)
モジュール
- Base64 (3)
-
CGI
:: HtmlExtension (2) - Digest (1)
-
ERB
:: Util (2) -
JSON
:: Generator :: GeneratorMethods :: String (1) - Kconv (1)
- URI (6)
キーワード
- Converter (1)
- Marshal フォーマット (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) - String (1)
- casecmp (2)
-
decode
_ www _ form (1) -
default
_ internal (1) -
each
_ codepoint (2) - encode (4)
- encode! (2)
- encode64 (1)
-
encode
_ utf7 (1) -
encode
_ www _ form (1) -
encode
_ www _ form _ component (1) - encoding (1)
- escape (1)
-
for
_ fd (1) - form (2)
-
get
_ byte (1) - getbyte (1)
- getch (1)
- hexencode (1)
- match? (1)
-
matched
_ size (1) - new (5)
- open (2)
-
ruby 1
. 8 . 3 feature (1) -
set
_ encoding (6) -
strict
_ encode64 (1) -
to
_ json _ raw _ object (1) - tolocale (2)
-
url
_ encode (1) -
urlsafe
_ encode64 (1)
検索結果
先頭5件
-
String
# encode(**options) -> String (117727.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 (117727.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 , from _ encoding , **options) -> String (117727.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 (114541.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
文字列のクラスです。
ヌル文字を含む任意のバイト列を扱うことができます。
文字列の長さにはメモリ容量以外の制限はありません。
文字列は通常、文字列リテラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q... -
String
# encode!(encoding , from _ encoding , options = nil) -> self (81379.0) -
self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。
self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ
与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
self のエンコーディングが使われます。変換後の self を返します。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@return ... -
String
# encode!(encoding , options = nil) -> self (81379.0) -
self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。
self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ
与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
self のエンコーディングが使われます。変換後の self を返します。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@return ... -
String
. new(string = "") -> String (63727.0) -
string と同じ内容の新しい文字列を作成して返します。 引数を省略した場合は空文字列を生成して返します。
string と同じ内容の新しい文字列を作成して返します。
引数を省略した場合は空文字列を生成して返します。
@param string 文字列
@return 引数 string と同じ内容の文字列オブジェクト
//emlist[例][ruby]{
text = "hoge".encode("EUC-JP")
no_option = String.new(text) # => "hoge"
no_option.encoding == Encoding::EUC_JP # =>... -
String
# tolocale -> String (63340.0) -
self のエンコーディングをロケールエンコーディングに変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。
self のエンコーディングをロケールエンコーディングに変換した文字列を
返します。変換元のエンコーディングは文字列の内容から推測します。
ロケールエンコーディングについては Encoding.locale_charmap を見てください。
このメソッドは MIME エンコードされた文字列を展開し、
いわゆる半角カナを全角に変換します。
これらを変換したくない場合は、 String#encode
を使ってください。
@see Kconv.#tolocale -
String
# casecmp(other) -> -1 | 0 | 1 | nil (63085.0) -
String#<=> と同様に文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。
String#<=> と同様に文字列の順序を比較しますが、
アルファベットの大文字小文字の違いを無視します。
このメソッドの動作は組み込み変数 $= には影響されません。
@param other self と比較する文字列
//emlist[例][ruby]{
"aBcDeF".casecmp("abcde") #=> 1
"aBcDeF".casecmp("abcdef") #=> 0
"aBcDeF".casecmp("abcdefg") #=> -1
"abcdef".casecmp("ABCDEF") #=> 0
//}
nil は文字列のエ... -
String
# each _ codepoint -> Enumerator (63037.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ codepoint {|codepoint| block } -> self (63037.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# encoding -> Encoding (63019.0) -
文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。
文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。
//emlist[例][ruby]{
# encoding: utf-8
utf8_str = "test"
euc_str = utf8_str.encode("EUC-JP")
utf8_str.encoding # => #<Encoding:UTF-8>
euc_str.encoding # => #<Encoding:EUC-JP>
//}
@see Encoding -
URI
. encode(str , unsafe = URI :: UNSAFE) -> String (54646.0) -
URI 文字列をエンコードした文字列を返します。
URI 文字列をエンコードした文字列を返します。
このメソッドは obsolete です。
代わりに
ERB::Util.#url_encode,
CGI.escape,
URI.encode_www_form_component,
WEBrick::HTTPUtils.#escape_form,
WEBrick::HTTPUtils.#escape
などの使用を検討してください。
詳細は 29293 からのスレッドを参照してください。
例:
require 'uri'
p URI.escape('http://images.google.co.jp/images?q=モナリザ... -
Digest
. # hexencode(string) -> String (18973.0) -
引数である文字列 string を、16進数に変換した文字列を生成して返します。
引数である文字列 string を、16進数に変換した文字列を生成して返します。
@param string 文字列を指定します。
//emlist[][ruby]{
require 'digest'
p Digest.hexencode("") # => ""
p Digest.hexencode("d") # => "64"
p Digest.hexencode("\1\2") # => "0102"
p Digest.hexencode("\xB0") # => "b0"
p digest = Digest::MD5.digest("ruby") # => "... -
URI
. encode _ www _ form(enum , enc=nil) -> String (18679.0) -
enum から URL-encoded form data を生成します。
enum から URL-encoded form data を生成します。
HTML5 で定義されている application/x-www-form-urlencoded 形式の
文字列を生成します。
enum には通常 [key, value] という形の配列の配列を渡します。
以下の例を見てください。
require 'uri'
URI.encode_www_form([["a", "1"], ["b", "2"], ["c", "x yz"]])
# => "a=1&b=2&c=x+yz"
実際には、each のブロック呼び出しで [key, value] の形のデ... -
URI
. encode _ www _ form _ component(str , enc=nil) -> String (18661.0) -
文字列を URL-encoded form data の1コンポーネント としてエンコードした文字列を返します。
文字列を URL-encoded form data の1コンポーネント
としてエンコードした文字列を返します。
通常は URI.encode_www_form を使うほうがよいでしょう。
このメソッドでは *, -, ., 0-9, A-Z, _, a-z, は変換せず、
空白は + に変換し、その他は %XX に、変換します。
このメソッドは
https://www.w3.org/TR/2013/CR-html5-20130806/forms.html#url-encoded-form-data
にもとづいて実装されています。
//emlist[][ruby]{
require '... -
Base64
. # urlsafe _ encode64(bin , padding: true) -> String (18643.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 4648 の "Base 64 Encoding with URL and Filename Safe Alphabet" に対応しています。
"+" を "-" に "/" を "_" に置き換えます。
デフォルトでは戻り値は = によるパディングを含むことがあります。
パディングを含めたくない場合は、padding オプションに false を指定してください。
@param bin Base64 エンコードするデータを指定します。
@param padding false を指定した場合、 = によ... -
Base64
. # encode64(bin) -> String (18625.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 2045 に対応しています。
エンコード後の文字で 60 文字ごとに改行を追加します。
@param bin Base64 エンコードするデータを指定します。
require 'base64'
Base64.encode64("Now is the time for all good coders\nto learn Ruby")
# => Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
# ... -
Net
:: IMAP . encode _ utf7(str) -> String (18625.0) -
UTF-8 の文字列を modified UTF-7 の文字列に変換します。
UTF-8 の文字列を modified UTF-7 の文字列に変換します。
modified UTF-7 は IMAP のメールボックス名に使われるエンコーディングで、
UTF-7 を修正したものです。
詳しくは Net::IMAP.encode_utf7 を見てください。
@param str 変換対象の UTF-8 でエンコードされた文字列
@see Net::IMAP.decode_utf7 -
Base64
. # strict _ encode64(bin) -> String (18607.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 4648 に対応しています。
改行コードを追加することはありません。
@param bin Base64 エンコードするデータを指定します。 -
ERB
:: Util . # url _ encode(s) -> String (9628.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
URI
. escape(str , unsafe = URI :: UNSAFE) -> String (9346.0) -
URI 文字列をエンコードした文字列を返します。
URI 文字列をエンコードした文字列を返します。
このメソッドは obsolete です。
代わりに
ERB::Util.#url_encode,
CGI.escape,
URI.encode_www_form_component,
WEBrick::HTTPUtils.#escape_form,
WEBrick::HTTPUtils.#escape
などの使用を検討してください。
詳細は 29293 からのスレッドを参照してください。
例:
require 'uri'
p URI.escape('http://images.google.co.jp/images?q=モナリザ... -
StringScanner
# get _ byte -> String | nil (9325.0) -
1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。
1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。
StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ... -
StringScanner
# getbyte -> String | nil (9325.0) -
1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。
1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。
StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ... -
StringScanner
# getch -> String | nil (9322.0) -
一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。
一文字スキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すならnilを返します。
一文字の定義は、与えた文字列のエンコードに依存します。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("UTF-8"))
p s.getch # => "る"
p s.getch # => "び"
p s.... -
StringScanner
# match?(regexp) -> Integer | nil (9109.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# matched _ size -> Integer | nil (9109.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end
p run("UTF-8") #=> 3
p... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json _ raw _ object -> Hash (9055.0) -
生の文字列を格納したハッシュを生成します。
生の文字列を格納したハッシュを生成します。
このメソッドは UTF-8 の文字列ではなく生の文字列を JSON に変換する場合に使用してください。
require 'json'
"にほんご".encode("euc-jp").to_json_raw_object
# => {"json_class"=>"String", "raw"=>[164, 203, 164, 219, 164, 243, 164, 180]}
"にほんご".encode("euc-jp").to_json # source sequence is illegal/malformed (JSON::... -
CGI
:: HtmlExtension # form(method = "post" , action = nil , enctype = "application / x-www-form-urlencoded") -> String (727.0) -
form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param method method 属性の値として "get" か "post" を指定します。
@param action action 属性の値を指定します。デフォルトは現在の CGI スクリプト名です。
@param enctype enctype 属性の値を指定します。デフォルトは "application/x-www-form-urlencoded" です。
例:
form{ "string" }
# <FORM METHOD="post" ENCTYPE="app... -
CGI
:: HtmlExtension # form(method = "post" , action = nil , enctype = "application / x-www-form-urlencoded") { . . . } -> String (727.0) -
form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param method method 属性の値として "get" か "post" を指定します。
@param action action 属性の値を指定します。デフォルトは現在の CGI スクリプト名です。
@param enctype enctype 属性の値を指定します。デフォルトは "application/x-www-form-urlencoded" です。
例:
form{ "string" }
# <FORM METHOD="post" ENCTYPE="app... -
URI
. decode _ www _ form(str , enc=Encoding :: UTF _ 8) -> [[String , String]] (625.0) -
文字列から URL-encoded form data をデコードします。
文字列から URL-encoded form data をデコードします。
application/x-www-form-urlencoded 形式のデータをデコードし、
[key, value] という形の配列の配列を返します。
enc で指定したエンコーディングの文字列が URL エンコードされたものと
みなし、エンコーディングを付加します。
このメソッドは
https://url.spec.whatwg.org/#concept-urlencoded-parser
にもとづいて実装されています。
そのため「&」区切りのみに対応していて、「;」区切りには対応していません。
r... -
Kconv
. # tolocale(str) -> String (358.0) -
文字列 str のエンコーディングをロケールエンコーディングに変換して返します。
文字列 str のエンコーディングをロケールエンコーディングに変換して返します。
ロケールエンコーディングについては Encoding.locale_charmap を見てください。
このメソッドは MIME エンコードされた文字列を展開し、
いわゆる半角カナを全角に変換します。
これらを変換したくない場合は、 String#encode
を使ってください。
Kconv.kconv(str, Encoding.locale_charmap)と同じです。
@param str 変換元の文字列
@see String#tolocale -
URI
. decode _ www _ form _ component(str , enc=Encoding :: UTF _ 8) -> String (340.0) -
URL-encoded form data の文字列の各コンポーネント をデコードした文字列を返します。
URL-encoded form data の文字列の各コンポーネント
をデコードした文字列を返します。
通常は URI.decode_www_form を使うほうがよいでしょう。
"+" という文字は空白文字にデコードします。
enc で指定したエンコーディングの文字列が URL エンコードされたものと
みなし、エンコーディングを付加します。
このメソッドは
https://www.w3.org/TR/html5/sec-forms.html#urlencoded-form-data
にもとづいて実装されています。
//emlist[][ruby]{
require 'uri'
... -
ERB
:: Util . # u(s) -> String (328.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
Net
:: IMAP . decode _ utf7(str) -> String (322.0) -
modified UTF-7 の文字列を UTF-8 の文字列に変換します。
modified UTF-7 の文字列を UTF-8 の文字列に変換します。
modified UTF-7 は IMAP のメールボックス名に使われるエンコーディングで、
UTF-7 を修正したものです。
詳しくは 2060 の 5.1.3 を参照してください。
Net::IMAP ではメールボックス名のエンコードを自動的変換「しない」
ことに注意してください。必要があればユーザが変換すべきです。
@param str 変換対象の modified UTF-7 でエンコードされた文字列
@see Net::IMAP.encode_utf7 -
NEWS for Ruby 2
. 0 . 0 (253.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
多言語化 (235.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
多言語化
Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。
文字列の内部表現のエンコーディングは固定されておらず、
プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
同じプロセスの中で異なるエンコーディングの文字列が同時に存在することができます。
全ての String や Regexp などのオブジェクトは自身のエンコーディング情報を保持しています。
これにより各オブジェクト内の文字を適切に取り扱うことができます。
後述のマジックコメントでスクリプトエンコーディングを指定すると、
Ruby スクリプトに非... -
ruby 1
. 8 . 3 feature (181.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
Marshal フォーマット (163.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
NEWS for Ruby 2
. 1 . 0 (145.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...をサポート
* rinda
* Rinda::RingServer, Rinda::RingFinger
* マルチキャストソケットをサポート
* rubygems
* 2.2.0 に更新。 Notable new features include:
* Gemfile or gem.deps.rb support including Gem.file.lock (experimental)
* Improved, iterati... -
正規表現 (139.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパタ... -
ARGF
. class # set _ encoding(enc _ str , options = {}) -> self (73.0) -
ARGF の外部/内部エンコーディングを設定します。 次以降に処理するファイルにも同じ設定が適用されます。
ARGF の外部/内部エンコーディングを設定します。
次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、
内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
@param enc_str 外部/内部エンコーディングを"A:B" のようにコロンで
区切って指定します。
@param ext_enc 外部エンコーディングを表す文字列か
Encoding オブジェクトを指定します。
@para... -
ARGF
. class # set _ encoding(ext _ enc) -> self (73.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 (73.0) -
ARGF の外部/内部エンコーディングを設定します。 次以降に処理するファイルにも同じ設定が適用されます。
ARGF の外部/内部エンコーディングを設定します。
次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、
内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
@param enc_str 外部/内部エンコーディングを"A:B" のようにコロンで
区切って指定します。
@param ext_enc 外部エンコーディングを表す文字列か
Encoding オブジェクトを指定します。
@para... -
Encoding
. default _ internal -> Encoding | nil (73.0) -
既定の内部エンコーディングを返します。デフォルトでは nil です。
既定の内部エンコーディングを返します。デフォルトでは nil です。
標準入出力、コマンドライン引数、open で開くファイルなどで、内部エンコーディングが指定されていない場合の既定値として利用されます。
String#encode と String#encode! は、引数に Encoding が与えられていない場合、 default_internal を使用します。
文字列リテラルを作成した場合、エンコーディングには default_internal ではなく __ENCODING__ 特殊変数で参照できるスクリプトエンコーディングが使用されます。
default_internal... -
Encoding
:: Converter (37.0) -
文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。
文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。
Encoding::Converter を用いて変換を行う場合は、Encoding::Converter#convert か、より細かな変換処理が可能な Encoding::Converter#primitive_convert が利用できます。
エンコーディングを変換するメソッドはこの他に String#encode, NKF.#nkf
などがあります。 -
Encoding
:: Converter . new(convpath) -> Encoding :: Converter (37.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 (37.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 (37.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... -
IO
# set _ encoding(enc _ str , **opts) -> self (37.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
# set _ encoding(ext _ enc) -> self (37.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
# set _ encoding(ext _ enc , int _ enc , **opts) -> self (37.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
. for _ fd(fd , mode = "r" , **opts) -> IO (37.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. new(fd , mode = "r" , **opts) -> IO (37.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. open(fd , mode = "r" , **opts) -> IO (37.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (37.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
Symbol
# casecmp(other) -> -1 | 0 | 1 | nil (37.0) -
Symbol#<=> と同様にシンボルに対応する文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。
Symbol#<=> と同様にシンボルに対応する文字列の順序を比較しますが、
アルファベットの大文字小文字の違いを無視します。
@param other 比較対象のシンボルを指定します。
//emlist[][ruby]{
:aBcDeF.casecmp(:abcde) #=> 1
:aBcDeF.casecmp(:abcdef) #=> 0
:aBcDeF.casecmp(:abcdefg) #=> -1
:abcdef.casecmp(:ABCDEF) #=> 0
:"\u{e4 f6 fc}".casecmp(:"\u{c4 d6 dc}") #=> 1
...