306件ヒット
[1-100件を表示]
(0.136秒)
ライブラリ
- ビルトイン (85)
- fiddle (66)
-
fiddle
/ import (11) -
rubygems
/ commands / unpack _ command (11) -
rubygems
/ installer (11) - socket (44)
-
win32
/ registry (22)
クラス
- Addrinfo (11)
- Array (19)
- BasicSocket (11)
-
Fiddle
:: Pointer (66) -
Gem
:: Commands :: UnpackCommand (11) -
Gem
:: Installer (11) - IO (11)
- Socket (11)
-
Socket
:: Option (11) - String (33)
モジュール
-
Fiddle
:: Importer (11) - Marshal (22)
-
Win32
:: Registry :: API (22)
キーワード
- +@ (11)
- -@ (11)
-
MAJOR
_ VERSION (11) -
MINOR
_ VERSION (11) - Marshal フォーマット (11)
- [] (11)
- bind (11)
- binwrite (11)
- fiddle (11)
-
fiddle
/ import (11) -
get
_ path (11) - getsockopt (11)
- new (11)
- pack (19)
- pack テンプレート文字列 (11)
- ptr (11)
-
rb
_ quad _ unpack (1) - recvfrom (11)
- ref (11)
-
ruby 1
. 8 . 2 feature (11) - scrub (11)
- scrub! (11)
-
to
_ ptr (11) - unpackdw (11)
- unpackqw (11)
検索結果
先頭5件
-
Gem
:: Installer # unpack(directory) (24201.0) -
与えられたディレクトリに Gem を展開します。
...与えられたディレクトリに Gem を展開します。
@param directory Gem を展開するディレクトリを指定します。... -
String
# unpack(template) -> Array (22071.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...レート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート......を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また......各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s......文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプ... -
Socket
:: Option # unpack(template) -> Array (21217.0) -
data に対し String#unpack を呼び出し、その結果を返します。
...data に対し String#unpack を呼び出し、その結果を返します。
このメソッドは過去との互換性のために存在します。... -
fiddle
/ import (12036.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
...fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
====......た長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'......= Fiddle.dlunwrap(b.ptr.to_i)
a0 <=> b0
}
extern 'void qsort(void *, int, int, void *)'
end
buff = [Time.at(1), Time.now, Time.at(100), Time.at(10)]
a = buff.map{|t| Fiddle.dlwrap(t)}.pack('l!*')
M.qsort(a, buff.size, Fiddle::SIZEOF_VOIDP, M::QsortCallback)
p a.unpack('l!*'... -
fiddle (12012.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常......は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下......列を渡します。
require "fiddle/import"
module M
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 の......は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (9242.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...た、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡......iddle::Function オブジェクトを返します。
@param signature 関数の名前とシネグチャ
@param opts オプション
例
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, si......, size_t, void*)"
bind("int compare(void*, void*)"){|px, py|
x = px.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::SIZE... -
Marshal
:: MINOR _ VERSION -> Integer (9206.0) -
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
...Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。
マイナーバージョ......のときには警告メッセージが出力されます
マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。
//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(obj).unpack("cc")
p [major, minor]
# => [4, 8]
//}... -
Marshal
:: MAJOR _ VERSION -> Integer (9106.0) -
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
...Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。
マイナーバージョ......のときには警告メッセージが出力されます
マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。
//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(obj).unpack("cc")
p [major, minor]
# => [4, 8]
//}... -
Win32
:: Registry :: API . # unpackdw(dw) (9100.0) -
@todo
@todo -
Win32
:: Registry :: API . # unpackqw(qw) (9100.0) -
@todo
@todo