種類
- インスタンスメソッド (74)
- 特異メソッド (22)
- 文書 (11)
クラス
- Array (19)
-
Fiddle
:: Pointer (66) - String (11)
キーワード
- []= (22)
- pack (19)
- pack テンプレート文字列 (11)
-
to
_ ptr (11) - unpack (11)
検索結果
先頭5件
-
Fiddle
:: Pointer . [](val) -> Fiddle :: Pointer (24366.0) -
与えられた val と関連した Pointer オブジェクトを生成して返します。
...val と関連した Pointer オブジェクトを生成して返します。
val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。
IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクト......l.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。
val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。
上以外の場合は、整数に変換(to_int)し
それをアドレスとする Pointer オブジェクト......定します。
@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します
例:
require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i #=> 1... -
Fiddle
:: Pointer # [](offset) -> Integer (24207.0) -
自身の指すアドレスに offset バイトを足したメモリ領域の先頭を整数として返します。
...offset 値を得たい領域のアドレスまでのオフセット
@raise Fiddle::DLError self の保持するポインタが NULL である場合に発生します
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0] #=> 97
p cptr[1] #=> 9... -
Fiddle
:: Pointer # [](offset , len) -> String (24207.0) -
自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトを複製し、 文字列として返します。
...@param len 値を得たい領域のサイズを指定します。
@raise Fiddle::DLError self の保持するポインタが NULL である場合に発生します
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0, 1] #=> "a"
p cptr[1, 2] #=> "bc"... -
Fiddle
:: Pointer # []=(offset , len , v) (12107.0) -
自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトに 文字列 v をコピーします。
...メモリ領域にセットしたいバイト列を文字列で指定します。
@raise Fiddle::DLError self の保持するポインタが NULL である場合に発生します
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[1,2] = "AA"
p cptr.to_s #=> "aAA"... -
Fiddle
:: Pointer # []=(offset , n) (12107.0) -
自身の指すアドレスに offset バイトを足したメモリ領域を指定された n に書き換えます。
...領域を指定された n に書き換えます。
@param n 整数を指定します。
@raise Fiddle::DLError self の保持するポインタが NULL である場合に発生します
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cptr[0] = 65
p cptr.to_s #=> "Bbc"... -
Fiddle
:: Pointer . to _ ptr(val) -> Fiddle :: Pointer (9266.0) -
与えられた val と関連した Pointer オブジェクトを生成して返します。
...val と関連した Pointer オブジェクトを生成して返します。
val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。
IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクト......l.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。
val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。
上以外の場合は、整数に変換(to_int)し
それをアドレスとする Pointer オブジェクト......定します。
@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します
例:
require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i #=> 1... -
String
# unpack(template) -> Array (3162.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます......説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a")......list[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポインタとして解釈します。(以下は、64bitマシンで一般的な結果)
//emlist[][ruby]{
[nil......m template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることがで... -
Array
# pack(template , buffer: String . new) -> String (362.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u000......説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a")......list[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポインタとして解釈します。(以下は、64bitマシンで一般的な結果)
//emlist[][ruby]{
[nil... -
Array
# pack(template) -> String (262.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます......説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a")......list[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポインタとして解釈します。(以下は、64bitマシンで一般的な結果)
//emlist[][ruby]{
[nil......生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u000... -
pack テンプレート文字列 (162.0)
-
pack テンプレート文字列
...pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで......説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a")......list[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
//}
"p" や "P" は、nil を特別に扱い NULL
ポインタとして解釈します。(以下は、64bitマシンで一般的な結果)
//emlist[][ruby]{
[nil...