種類
- 文書 (64)
- インスタンスメソッド (41)
ライブラリ
- ビルトイン (41)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Marshal フォーマット (11)
-
NEWS for Ruby 2
. 3 . 0 (9) -
force
_ encoding (11) - pack テンプレート文字列 (11)
-
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 9 feature (11) - unpack (11)
検索結果
先頭5件
-
Array
# pack(template) -> String (19278.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...です。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
も......いことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリと......A==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding され... -
Array
# pack(template , buffer: String . new) -> String (19278.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...です。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
も......いことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリと......A==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding され... -
Array
# pack(template) -> String (19259.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の......中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a") # => "......A==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding され... -
String
# unpack(template) -> Array (7280.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるもの......は、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテ......A==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding され......は、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さ... -
pack テンプレート文字列 (7167.0)
-
pack テンプレート文字列
...pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」......中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a") # => "......A==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding され......pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで... -
String
# force _ encoding(encoding) -> self (6290.0) -
文字列の持つエンコーディング情報を指定された encoding に変えます。
...情報を指定された encoding に変えます。
このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。
@param encoding 変更するエンコー......す文字列か Encoding オブジェクトを指定します。
//emlist[例][ruby]{
s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASCII-8BIT
p s.force_encoding("EUC-JP") #=> "いろは"
p s.force_encoding(Encoding::EUC_JP)......#=> "いろは"
u = [12411, 12408, 12392].pack("U*")
u.force_encoding("UTF-8") #=> "ほへと"
u.force_encoding(Encoding::UTF_8) #=> "ほへと"
//}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (78.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...== Socket
: ((<Socket/Socket.pack_sockaddr_in>)) [new]
: ((<Socket/Socket.unpack_sockaddr_in>)) [new]
追加。ソケットアドレス構造体(INET domain)のpack/unpack。
: ((<Socket/Socket.pack_sockaddr_un>)) [new]
: ((<Socket/Socket.unpack_sockaddr_un>)) [new]......追加。ソケットアドレス構造体(UNIX domain)のpack/unpack。
: ((<UNIXSocket/UNIXSocket.pair>)) [new]
: ((<UNIXSocket/UNIXSocket.socketpair>)) [new]
: ((<UNIXSocket#recv_io|UNIXSocket/recv_io>)) [new]
: ((<UNIXSocket#send_io|UNIXSocket/send_io>)) [new]
追加......p Regexp.new(//is, Regexp::EXTENDED, "e")
=> ruby 1.6.8 (2003-08-03) [i586-linux]
//xe
=> -:1: warning: flags and encoding ignored
ruby 1.8.0 (2003-02-16) [i586-linux]
//is
=== String
: ((<String#chomp|String/chomp>)) [change]
: ((<Strin... -
Marshal フォーマット (60.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...e, 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......との区別のためです。
//emlist[例][ruby]{
p Marshal.dump(-1).unpack1("x2 a*") # => "i\xFA"
p Marshal.dump(0).unpack1("x2 a*") # => "i\x00"
p Marshal.dump(1).unpack1("x2 a*") # => "i\x06"
p Marshal.dump(2).unpack1("x2 a*") # => "i\a" ("i\x07")
//}
形式 1 の範囲を超える数......e").unpack("x2 a c a*")
# => ["\"", 13, "hogehoge"]
//}
ruby 1.9.0 以降では encoding が 'encoding' という
「@」のつかない内部的なインスタンス変数としてダンプされます。
//emlist[例: euc-jp の時][ruby]{
p Marshal.dump("hogehoge".encode("euc-jp")).unpack("x2 a... -
NEWS for Ruby 2
. 3 . 0 (48.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...10730
* Array#dig を追加
11643
* Comparable
* Comparable#==はもはや例外を rescue しません
7688
* Encoding
* Encoding::IBM037 (alias ebcdic-cp-us; dummy) を追加
* Enumerable
* Enumerable#grep_v を追加
11049
* Enumerable#chunk_while......列を生成するString#+@ を追加
* フリーズされた文字列を生成する String#-@ を追加
11782
* String.new に `encoding` オプションが追加されました
11785
* Struct
* Struct#dig を追加
11688
* Thread
* スレッド名を扱う......ロック )が必須になりました。
ブロックが与えられない場合は ArgumentError が発生します。
11283
* pack/unpack (Array/String)
* `j`と`J`が追加されました。
11215
=== 標準添付ライブラリの更新 (優れたもののみ)
* Lo... -
ruby 1
. 9 feature (42.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...08>)) [compat]
: Array#flatten, Array#flatten! がオプショナルな level 引数を受け取るようになりました [compat]
: String#unpack("M") で CRLF を単独の LF と同様に無視するようになりました ((<ruby-dev:28601>)) [compat]
* M17N
: 以下、ここでいう......ディングを変換するメソッドを公開。
valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。
=== 2005-02-02
: ((<ripper/Ripper.slice>)) [ruby] [experimental]
追加。((<U......最初の引数に対して to_open を呼ぶようになりました。
: Exception#to_str [ruby] [obsolete]
=== 2004-03-31
: Array#pack [ruby] [change]
pack("U") 時に、ユニコードとして不適切な値が来ているときは
RangeError を投げるようになりました。
((<r... -
ruby 1
. 8 . 2 feature (36.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...りました。
=== 2004-11-10
: Array#pack [ruby] [change]
P 指定子以外では nil を 0 に変換しなくなりました。
$ ruby-1.8.1 -e 'p [nil].pack("L")'
"\000\000\000\000"
$ ruby-1.8.2 -e 'p [nil].pack("L")'
-e:1:in `pack': cannot convert nil into Integer (Type......Error)
from -e:1
$ ruby-1.8.2 -e 'p [nil].pack("P")'
"\000\000\000\000"
=== 2004-10-27
: CGI [lib] [bug]
無限ループに陥る可能性のあるバグを修正しました。
((<URL:http://www.debian.org/security/2004/dsa-586>))
=== 2004-10-21
: PStore#transaction [lib......ようになりました。((<ruby-dev:24528>))
=== 2004-10-18
: WEBrick::HTTPRequest [lib] [new]
new methods. accept, accept_charset, accept_encoding, accept_language,
content_length and content_type.
: WEBrick::HTTPResponse#content_length= [lib] [new]
: WEBrick::HTTPResponse#content_type=...