393件ヒット
[301-393件を表示]
(0.085秒)
ライブラリ
- ビルトイン (33)
- fiddle (264)
-
fiddle
/ import (48) - strscan (48)
クラス
- Array (21)
-
Fiddle
:: CStruct (12) -
Fiddle
:: Function (12) -
Fiddle
:: Pointer (252) - String (12)
- StringScanner (48)
モジュール
-
Fiddle
:: Importer (36)
検索結果
先頭5件
-
Array
# pack(template) -> String (407.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......*") # => [513, -514]
[513, 65022].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("s*") # => [258, -259]
[258, 65277].pack("s*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("s*......2].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("S*") # => [258, 65277]
[258, 65277].pack("S*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("S*") # => "\x01\x02\xFE\xFD"
//... -
Array
# pack(template , buffer: String . new) -> String (407.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......*") # => [513, -514]
[513, 65022].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("s*") # => [258, -259]
[258, 65277].pack("s*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("s*......2].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("S*") # => [258, 65277]
[258, 65277].pack("S*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("S*") # => "\x01\x02\xFE\xFD"
//... -
String
# unpack(template) -> Array (407.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......*") # => [513, -514]
[513, 65022].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("s*") # => [258, -259]
[258, 65277].pack("s*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("s*......2].pack("s*") # => "\x01\x02\xFE\xFD"
[513, -514].pack("s*") # => "\x01\x02\xFE\xFD"
//}
ビッグエンディアン (SPARC64):
//emlist[][ruby]{
"\x01\x02\xFE\xFD".unpack("S*") # => [258, 65277]
[258, 65277].pack("S*") # => "\x01\x02\xFE\xFD"
[258, -259].pack("S*") # => "\x01\x02\xFE\xFD"
//... -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (208.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Fiddle
:: CStruct # to _ ptr -> Fiddle :: Pointer (202.0) -
保持している構造体へのポインタを返します。
保持している構造体へのポインタを返します。 -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (125.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...x.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")
x <=> y
}
end
data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!*") # => [-13, -1, 0, 32, 49, 180001]... -
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (119.0) -
関数を呼び出します。
...引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェ......ます。
整数であればそれがアドレスとみなされます。
to_ptr を持っているならば、それを呼びだし Fiddle::Pointer に
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと見なし......。
: void
nil を返します
: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します
: void*(つまり任意のポインタ型)
C のポインタを保持した Fiddle::Pointer を返します。
@param args 関数の引数
@see Fiddle::Function.new... -
Fiddle
:: Importer # sizeof(t) -> Integer (107.0) -
C における sizeof(t) の値を返します。
...の場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。
それ以外の場合は Pointer[t].size を返します。
@param t サイズを計算する対象
@raise Fiddle::DLError t として文字列を渡し、それが表している...