種類
- 文書 (54)
- インスタンスメソッド (30)
- ライブラリ (11)
ライブラリ
- ビルトイン (30)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 2 . 0 (10) - fiddle (11)
- pack (19)
- pack テンプレート文字列 (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11)
検索結果
先頭5件
-
String
# unpack(template) -> Array (18647.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...am template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「......le endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル......ます。
unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポイン......ate pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
Array
# pack(template) -> String (552.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます......le endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル......ます。
unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポイン... -
Array
# pack(template , buffer: String . new) -> String (552.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます......le endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル......ます。
unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポイン... -
Array
# pack(template) -> String (540.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...イナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「......le endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル......ます。
unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポイン... -
pack テンプレート文字列 (540.0)
-
pack テンプレート文字列
...pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」......le endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル......ます。
unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポイン......pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで... -
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.unpack_sockaddr_in>)) [new]
追加。ソケットアドレス構造体(INET domain)のpack/unpack。
: ((<Socket/Socket.pack_sockaddr_un>)) [new]
: ((<Socket/Socket.unpack_sockaddr_un>)) [new]
追加。ソケットアドレス構造体(UNIX domain)のpack/unpack。
: (......ck|Array/pack>)) [compat]
: ((<String#unpack|String/unpack>)) [compat]
pack/unpack のテンプレートにコメントを記述できるようになりました。
: ((<Array#pack|Array/pack>)) [new]
: ((<String#unpack|String/unpack>)) [new]
64 bit 整数のテンプレ......ned、q は、signed です。
: ((<Array#pack|Array/pack>)) [change]
: ((<String#unpack|String/unpack>)) [change]
Array#pack, String#unpack のテンプレート文字 "p", "P" は、nil と
NULLポインタの相互変換を行うようになりました((<ruby-dev:13017>))。
==... -
ruby 1
. 6 feature (36.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...04-15: pack('U')
pack('U') を unpack('U') すると元に戻らないバグが修正されました。
(unpack は、バイト単位でなく文字単位の処理になりました)
((<ruby-bugs-ja:PR#220>))
p [128].pack("U")
p [128].pack("U").unpack("U")
=> ruby 1.6.7 (2002-03......トのマイナーバージョンが1あがりました
p Marshal.dump(Object.new).unpack("CC").join(".")
=> ruby 1.6.4 (2001-06-04) [i586-linux]
"4.5"
p Marshal.dump(Object.new).unpack("CC").join(".")
=> ruby 1.6.4 (2001-06-11) [i586-linux]
"4.6"
: $S......FE == 4, which
previously wasn't.
とあるけど実際にはできません。
$SAFE = 4; def a; end
=> -:1: Insecure operation `(null)' at level 4 (SecurityError)
ruby 1.6.4 (2001-06-04) [i586-linux]
=> -:1: Insecure: can't define method (SecurityError)
ruby 1.6... -
NEWS for Ruby 2
. 2 . 0 (30.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...02
* Check_SafeStr -> SafeStringValue
* rb_check_safe_str -> SafeStringValue
* rb_quad_pack -> rb_integer_pack
* rb_quad_unpack -> rb_integer_unpack
* rb_read_check : access struct FILE internal. no replacement.
* rb_struct_iv_get : internal function. no replacement.
* st......ode
* rb_io_modenum_flags -> rb_io_oflags_fmode
* struct RBignum は隠されました 6083
かわりに rb_integer_pack と rb_integer_unpack を使います
* struct RRational は隠されました 9513
かわりに rb_rational_num と rb_rational_den を使います
* rb_big......ん中を共有しますが、
文字列の末尾だけは共有しません。結局、処理された文字列はNULL終端されない可能性があるので、
NULL終端されたCの文字列を入手したいときは`StringValueCStr()`を呼ぶ必要があります。
* rb_tracepo... -
ruby 1
. 8 . 2 feature (24.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...ました。
: String#unpack [ruby] [change]
Z* が最初の null までしかマッチしないようになりました。((<ruby-talk:98281>))
$ ruby1.8.1 -e 'p "abc\000def\000".unpack("Z*Z*")'
["abc\000def", ""]
$ ruby1.8.2 -e 'p "abc\000def\000".unpack("Z*Z*")'
["abc", "de... -
fiddle (12.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...extend Fiddle::Importer
dlload 'libm.so.6'
extern 'double modf(double, double *)'
end
s = ' ' * 8
p M2.modf(1.25, s) #=> 0.25
p s.unpack('d')[0] #=> 1.0
==== 関数の引数と返り値
fiddle でインポートした C の関数を呼び出すとき、
その引数と返り値は......類によって変換されます。
引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポイン...