ライブラリ
- ビルトイン (7)
- csv (1)
- dbm (2)
- digest (3)
- etc (11)
- fiddle (34)
-
fiddle
/ import (3) - gdbm (2)
-
io
/ console / size (1) - mkmf (4)
-
net
/ ftp (1) -
net
/ http (2) - readline (3)
- resolv (1)
-
rinda
/ tuplespace (1) -
rubygems
/ source _ index (2) - sdbm (2)
-
shell
/ command-processor (2) - socket (2)
- strscan (2)
- thread (2)
-
webrick
/ httpservlet / filehandler (1) - win32ole (2)
クラス
- Array (1)
- CSV (1)
- DBM (2)
-
Digest
:: Base (3) -
Fiddle
:: CStruct (1) -
Fiddle
:: Function (1) -
Fiddle
:: Pointer (12) - GDBM (2)
-
Gem
:: SourceIndex (2) - Hash (2)
- IO (1)
- MatchData (2)
-
Net
:: FTP (1) -
Resolv
:: DNS (1) -
Rinda
:: TupleEntry (1) - SDBM (2)
-
Shell
:: CommandProcessor (2) - Socket (1)
- String (2)
- StringScanner (2)
-
Thread
:: Queue (2) -
WEBrick
:: HTTPServlet :: DefaultFileHandler (1) -
WIN32OLE
_ METHOD (2)
モジュール
- Etc (11)
- Fiddle (19)
-
Fiddle
:: Importer (2) - Kernel (4)
-
Net
:: HTTPHeader (2) - Readline (1)
-
Socket
:: Constants (1)
オブジェクト
キーワード
- + (1)
- +@ (1)
- - (1)
- -@ (1)
-
ALIGN
_ SIZE _ T (1) -
ALIGN
_ SSIZE _ T (1) - BlockCaller (1)
- Closure (1)
-
DEFAULT
_ BLOCKSIZE (1) -
PC
_ CHOWN _ RESTRICTED (1) -
PC
_ VDISABLE (1) -
SC
_ 2 _ LOCALEDEF (1) -
SC
_ AIO _ PRIO _ DELTA _ MAX (1) -
SC
_ CHILD _ MAX (1) -
SC
_ DELAYTIMER _ MAX (1) -
SC
_ MAPPED _ FILES (1) -
SC
_ PRIORITY _ SCHEDULING (1) -
SC
_ READER _ WRITER _ LOCKS (1) -
SC
_ THREAD _ PRIORITY _ SCHEDULING (1) -
SC
_ XOPEN _ REALTIME _ THREADS (1) -
SIZEOF
_ CHAR (1) -
SIZEOF
_ DOUBLE (1) -
SIZEOF
_ FLOAT (1) -
SIZEOF
_ INT (1) -
SIZEOF
_ INTPTR _ T (1) -
SIZEOF
_ LONG (1) -
SIZEOF
_ LONG _ LONG (1) -
SIZEOF
_ PTRDIFF _ T (1) -
SIZEOF
_ SHORT (1) -
SIZEOF
_ SIZE _ T (1) -
SIZEOF
_ SSIZE _ T (1) -
SIZEOF
_ UINTPTR _ T (1) -
SIZEOF
_ VOIDP (1) -
TCP
_ WINDOW _ CLAMP (2) -
TYPE
_ SIZE _ T (1) -
TYPE
_ SSIZE _ T (1) - UDPSize (1)
- bigdecimal (1)
- bind (1)
-
check
_ signedness (2) -
check
_ sizeof (2) -
default
_ console _ size (1) -
digest
_ length (1) - fiddle (1)
-
fiddle
/ import (1) -
field
_ size _ limit (1) -
get
_ screen _ size (1) - length (10)
- malloc (2)
-
matched
_ size (1) - matchedsize (1)
- new (2)
- pack (1)
- pack テンプレート文字列 (1)
-
prepare
_ range (1) - ptr (1)
- realloc (1)
- ref (1)
- rindex (1)
- size= (1)
- size? (1)
-
size
_ opt _ params (1) -
size
_ params (1) - sizeof (1)
-
to
_ str (2) - unpack (1)
検索結果
先頭5件
-
Fiddle
:: Pointer # size -> Integer (81622.0) -
自身の指す領域のサイズを返します。
自身の指す領域のサイズを返します。
基本的には Fiddle::Pointer.new で指定したサイズが返されます。
Fiddle::Pointer.to_ptr で文字列を変換したときは、そのバイト数が返されます。
Fiddle::Pointer#size= でこの値を変更することができます。 -
Shell
:: CommandProcessor # size(file) -> Integer (72943.0) -
FileTest モジュールにある同名のクラスメソッドと同じです.
FileTest モジュールにある同名のクラスメソッドと同じです.
@param file ファイル名を表す文字列を指定します。
@see FileTest.#size FileTest.#size? -
Digest
:: Base # size -> Integer (72604.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
Fiddle
:: CStruct . size -> Integer (72604.0) -
構造体のサイズをバイト数で返します。
構造体のサイズをバイト数で返します。
このメソッドが返す値は C の構造体としてのサイズです。
Ruby のオブジェクトとしてはより大きなメモリを消費しています。 -
Rinda
:: TupleEntry # size -> Integer (72604.0) -
タプルのサイズ(配列の要素数/ハッシュテーブルのエントリー数)を返します
タプルのサイズ(配列の要素数/ハッシュテーブルのエントリー数)を返します
@see Rinda::TupleEntry#value -
Fiddle
:: SIZEOF _ DOUBLE -> Integer (64201.0) -
Cでの sizeof(double) の値
Cでの sizeof(double) の値 -
MatchData
# size -> Integer (63670.0) -
部分文字列の数を返します(self.to_a.size と同じです)。
部分文字列の数を返します(self.to_a.size と同じです)。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.size # => 4
//} -
DBM
# size -> Integer (63604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
現在の実装では要素数を数えるためにデータベースを全部検索します。 -
GDBM
# size -> Integer (63604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
Gem
:: SourceIndex # size -> Integer (63604.0) -
自身に含まれる Gem の個数を返します。
自身に含まれる Gem の個数を返します。 -
Net
:: HTTPHeader # size -> Integer (63604.0) -
このメソッドは obsolete です。
このメソッドは obsolete です。
ヘッダフィールドの数を返します。 -
Readline
:: HISTORY . size -> Integer (63604.0) -
ヒストリに格納された内容の数を取得します。
ヒストリに格納された内容の数を取得します。
例: ヒストリの内容を最初から順番に出力する。
require "readline"
Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.length #=> 3
@see Readline::HISTORY.empty? -
SDBM
# size -> Integer (63604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
=== 注意
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
Thread
:: Queue # size -> Integer (63604.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
IO
. default _ console _ size -> [Integer , Integer] (55504.0) -
デフォルトの端末のサイズを [rows, columns] で返します。
デフォルトの端末のサイズを [rows, columns] で返します。 -
CSV
# field _ size _ limit -> Integer (55276.0) -
フィールドサイズの最大値を返します。
フィールドサイズの最大値を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA)
csv.field_size_limit # => nil
p csv.read # => [["a", "b"], ["\n2\n2\n", ""]]
DATA.rewind
csv = CSV.new(DATA, field_size_limit: 4)
p csv.field_size_limit # => 4
csv.read # => #<CSV::MalformedCSVError: Field size exceeded on l... -
Fiddle
:: SIZEOF _ LONG _ LONG -> Integer (55201.0) -
Cでの sizeof(long long) の値
Cでの sizeof(long long) の値 -
Net
:: FTP :: DEFAULT _ BLOCKSIZE -> Integer (55201.0) -
get, put をするときのデフォルトのブロックサイズです。
get, put をするときのデフォルトのブロックサイズです。 -
Fiddle
:: SIZEOF _ INT -> Integer (54952.0) -
Cでの sizeof(int) の値
Cでの sizeof(int) の値 -
Fiddle
:: SIZEOF _ SIZE _ T -> Integer (54952.0) -
Cでの sizeof(size_t) の値
Cでの sizeof(size_t) の値 -
Fiddle
:: SIZEOF _ INTPTR _ T -> Integer (54901.0) -
Cでの sizeof(intptr_t) の値
Cでの sizeof(intptr_t) の値 -
Fiddle
:: SIZEOF _ SSIZE _ T -> Integer (54901.0) -
Cでの sizeof(ssize_t) の値
Cでの sizeof(ssize_t) の値 -
Fiddle
:: SIZEOF _ UINTPTR _ T -> Integer (54901.0) -
Cでの sizeof(uintptr_t) の値
Cでの sizeof(uintptr_t) の値 -
Hash
# size -> Integer (54658.0) -
ハッシュの要素の数を返します。
ハッシュの要素の数を返します。
//emlist[][ruby]{
h = { "d" => 100, "a" => 200, "v" => 300, "e" => 400 }
h.length #=> 4
h.size #=> 4
h.delete("a") #=> 200
h.length #=> 3
h.size #=> 3
//} -
Fiddle
:: ALIGN _ SIZE _ T -> Integer (45952.0) -
C の構造体における size_t のアライメントの値。
C の構造体における size_t のアライメントの値。 -
Digest
:: Base # digest _ length -> Integer (45904.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
Fiddle
:: ALIGN _ SSIZE _ T -> Integer (45901.0) -
C の構造体における ssize_t のアライメントの値。
C の構造体における ssize_t のアライメントの値。 -
Fiddle
:: SIZEOF _ FLOAT -> Integer (45901.0) -
Cでの sizeof(float) の値
Cでの sizeof(float) の値 -
Fiddle
:: SIZEOF _ LONG -> Integer (45901.0) -
Cでの sizeof(long) の値
Cでの sizeof(long) の値 -
Fiddle
:: SIZEOF _ PTRDIFF _ T -> Integer (45901.0) -
Cでの sizeof(ptrdiff_t) の値
Cでの sizeof(ptrdiff_t) の値 -
Fiddle
:: SIZEOF _ VOIDP -> Integer (45901.0) -
Cでの sizeof(void*) の値
Cでの sizeof(void*) の値 -
Resolv
:: DNS :: UDPSize -> Integer (45901.0) -
デフォルトの UDP パケットサイズです。
デフォルトの UDP パケットサイズです。 -
Fiddle
:: Pointer # size=(s) (45322.0) -
自身の指す領域のサイズを変えます。
自身の指す領域のサイズを変えます。
変更してもメモリの再割り当てはしません。単にオブジェクトが記録している
size の情報が変更されるだけです。
@param s 自身が指すメモリのサイズを整数で指定します。 -
StringScanner
# matchedsize -> Integer | nil (37285.0) -
StringScanner#matched_size と同じです。
StringScanner#matched_size と同じです。
このメソッドは は将来のバージョンで削除される予定です。
代わりに StringScanner#matched_size を使ってください。
@see StringScanner#matched_size -
StringScanner
# matched _ size -> Integer | nil (37276.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end
p run("UTF-8") #=> 3
p... -
Fiddle
:: Pointer . malloc(size , free = nil) -> Fiddle :: Pointer (37270.0) -
与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
@param size 確保したいメモリ領域のサイズを整数で指定します。
@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::Function オブジェクトか整数で指定します。 -
WEBrick
:: HTTPServlet :: DefaultFileHandler # prepare _ range(range , filesize) -> [Integer , Integer] (37201.0) -
WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content で利用する範囲情報を生成して返します。
WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content で利用する範囲情報を生成して返します。
@param range 2 要素の配列を指定します。
@param filesize ファイルサイズを指定します。 -
Socket
:: Constants :: TCP _ WINDOW _ CLAMP -> Integer (36949.0) -
Clamp the size of the advertised window。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Clamp the size of the advertised window。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux) -
Socket
:: TCP _ WINDOW _ CLAMP -> Integer (36949.0) -
Clamp the size of the advertised window。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Clamp the size of the advertised window。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux) -
Shell
:: CommandProcessor # size?(file) -> Integer | nil (36943.0) -
FileTest モジュールにある同名のクラスメソッドと同じです.
FileTest モジュールにある同名のクラスメソッドと同じです.
@param file ファイル名を表す文字列を指定します。
@see FileTest.#size FileTest.#size? -
Readline
. get _ screen _ size -> [Integer , Integer] (36922.0) -
端末のサイズを [rows, columns] で返します。
端末のサイズを [rows, columns] で返します。
@raise NotImplementedError サポートしていない環境で発生します。
@see GNU Readline ライブラリの rl_get_screen_size 関数 -
WIN32OLE
_ METHOD # size _ opt _ params -> Integer | nil (36922.0) -
オプションパラメータ数を取得します。
オプションパラメータ数を取得します。
@return オプションパラメータ数を整数で返します。メソッドの詳細情報を取
得できない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_opt_params # => 5 -
WIN32OLE
_ METHOD # size _ params -> Integer | nil (36922.0) -
パラメータ数を取得します。
パラメータ数を取得します。
@return パラメータ数を整数で返します。メソッドの詳細情報を取得できない
場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_params # => 12 -
Fiddle
:: Importer # sizeof(t) -> Integer (36655.0) -
C における sizeof(t) の値を返します。
C における sizeof(t) の値を返します。
t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。
Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。
t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。
それ... -
Fiddle
:: TYPE _ SIZE _ T -> Integer (36652.0) -
C の size_t 型を表す定数。
C の size_t 型を表す定数。 -
Digest
:: Base # length -> Integer (36604.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
Fiddle
:: SIZEOF _ CHAR -> Integer (36601.0) -
Cでの sizeof(char) の値
Cでの sizeof(char) の値 -
Fiddle
:: SIZEOF _ SHORT -> Integer (36601.0) -
Cでの sizeof(short) の値
Cでの sizeof(short) の値 -
Fiddle
:: TYPE _ SSIZE _ T -> Integer (36601.0) -
C の ssize_t 型を表す定数。
C の ssize_t 型を表す定数。 -
fiddle
/ import (36181.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。
require 'fiddle/import'
m... -
fiddle (36145.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...ンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常は fiddle/import ライブラリを require... -
Fiddle
:: Closure :: BlockCaller (36091.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックを C の関数ポインタとして表現するためのクラスです。
require 'fiddle'
include Fiddle
libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYP... -
bigdecimal (36037.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}
一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差があるのに対し、BigDecimal では正確な値を得る事がで... -
Fiddle
:: Pointer . new(addr , size = 0 , free = nil) -> Fiddle :: Pointer (28558.0) -
与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。
与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。
size を指定した場合、アドレス addr に確保されているメモリ領域のサイズは
size であると仮定されます。GC は free 関数を使用してメモリを解放します。
@param addr 生成する Pointer オブジェクトが指すアドレスを整数で指定します。
@param size 生成する Pointer オブジェクトが指すメモリ領域のサイズを整数で指定します。
@param free GC 時に呼ばれる free 関数を Fiddle::Function オブジェクトか
... -
Fiddle
. # realloc(addr , size) -> Integer (28270.0) -
addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数 を返します。
addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数
を返します。
addr には Fiddle.#malloc で確保したメモリ領域を渡します。
また、リサイズの結果、返り値が addr と異なる場合があります。
@param addr リサイズしたいメモリアドレス整数
@param size リサイズ後のバイト数
@see Fiddle.#malloc -
Kernel
# check _ sizeof(type , headers = nil) -> Integer | nil (28201.0) -
与えられた型のサイズを返します。
与えられた型のサイズを返します。
型 type がシステムに存在する場合は、グローバル変数 $defs に
"-DSIZEOF_type=X" を追加し、型のサイズを返します。型 type がシステムに
存在しない場合は、nil を返します。
例えば、
require 'mkmf'
check_sizeof('mystruct') # => 12
である場合、SIZEOF_MYSTRUCT=12 というプリプロセッサマクロをコンパイラに渡します。
@param type 検査したい型を指定します。
@param headers 追加のヘッダファイルを指定します。 -
Kernel
# check _ sizeof(type , headers = nil) { . . . } -> Integer | nil (28201.0) -
与えられた型のサイズを返します。
与えられた型のサイズを返します。
型 type がシステムに存在する場合は、グローバル変数 $defs に
"-DSIZEOF_type=X" を追加し、型のサイズを返します。型 type がシステムに
存在しない場合は、nil を返します。
例えば、
require 'mkmf'
check_sizeof('mystruct') # => 12
である場合、SIZEOF_MYSTRUCT=12 というプリプロセッサマクロをコンパイラに渡します。
@param type 検査したい型を指定します。
@param headers 追加のヘッダファイルを指定します。 -
Fiddle
. # malloc(size) -> Integer (27970.0) -
size バイトのメモリ領域を確保し、その領域を指す整数を返します。
size バイトのメモリ領域を確保し、その領域を指す整数を返します。
メモリを確保できなかった場合、例外 NoMemoryError が発生するか、あるいは ruby インタプリタが強制終了します。
@param size 必要なメモリ領域のサイズを整数で指定します。 -
Fiddle
:: Pointer # +@ -> Fiddle :: Pointer (27937.0) -
自身の指す値を Pointer にして返します。
自身の指す値を Pointer にして返します。
自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
... -
Fiddle
:: Pointer # -@ -> Fiddle :: Pointer (27937.0) -
自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s ... -
Fiddle
:: Pointer # ptr -> Fiddle :: Pointer (27937.0) -
自身の指す値を Pointer にして返します。
自身の指す値を Pointer にして返します。
自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
... -
Fiddle
:: Pointer # ref -> Fiddle :: Pointer (27937.0) -
自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s ... -
Fiddle
:: Pointer # +(n) -> Fiddle :: Pointer (27919.0) -
自身のアドレスに n バイトを足した新しい Pointer オブジェクトを返します。
自身のアドレスに n バイトを足した新しい Pointer オブジェクトを返します。
この返り値には、free 関数がセットされず、size は 0 とされます。
@param n アドレスの増分を整数で指定します。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0,1] #=> "a"
cptr += 1
p cptr[0,1] #=> "b" -
Fiddle
:: Pointer # -(n) -> Fiddle :: Pointer (27919.0) -
自身のアドレスから n バイトを引いた新しい Pointer オブジェクトを返します。
自身のアドレスから n バイトを引いた新しい Pointer オブジェクトを返します。
この返り値には、free 関数がセットされず、size は 0 とされます。
@param n アドレスの差分を整数で指定します。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cptr += 1
p cptr[0,1] #=> "b"
cptr -= 1
p cptr[0,1] #=> "a" -
Etc
:: PC _ VDISABLE -> Integer (27913.0) -
IO#pathconf の引数に指定します。
IO#pathconf の引数に指定します。
詳細は fpathconf(3) を参照してください。 -
Kernel
# check _ signedness(type , headers = nil , opts = nil) -> "signed" | "unsigned" | nil (27841.0) -
Returns the signedness of the given +type+. You may optionally specify additional +headers+ to search in for the +type+. If the +type+ is found and is a numeric type, a macro is passed as a preprocessor constant to the compiler using the +type+ name, in uppercase, prepended with 'SIGNEDNESS_OF_', followed by the +type+ name, followed by '=X' where 'X' is positive integer if the +type+ is unsigned, or negative integer if the +type+ is signed. For example, if size_t is defined as unsigned, then check_signedness('size_t') would returned +1 and the SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness('int') is done.
Returns the signedness of the given +type+. You may optionally
specify additional +headers+ to search in for the +type+.
If the +type+ is found and is a numeric type, a macro is passed as a
preprocessor constant to the compiler using the +type+ name, in
uppercase, prepended with 'SIGNEDNESS... -
Kernel
# check _ signedness(type , headers = nil , opts = nil) { . . . } -> "signed" | "unsigned" | nil (27841.0) -
Returns the signedness of the given +type+. You may optionally specify additional +headers+ to search in for the +type+. If the +type+ is found and is a numeric type, a macro is passed as a preprocessor constant to the compiler using the +type+ name, in uppercase, prepended with 'SIGNEDNESS_OF_', followed by the +type+ name, followed by '=X' where 'X' is positive integer if the +type+ is unsigned, or negative integer if the +type+ is signed. For example, if size_t is defined as unsigned, then check_signedness('size_t') would returned +1 and the SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness('int') is done.
Returns the signedness of the given +type+. You may optionally
specify additional +headers+ to search in for the +type+.
If the +type+ is found and is a numeric type, a macro is passed as a
preprocessor constant to the compiler using the +type+ name, in
uppercase, prepended with 'SIGNEDNESS... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (27763.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す ... -
MatchData
# length -> Integer (27670.0) -
部分文字列の数を返します(self.to_a.size と同じです)。
部分文字列の数を返します(self.to_a.size と同じです)。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.size # => 4
//} -
DBM
# length -> Integer (27604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
現在の実装では要素数を数えるためにデータベースを全部検索します。 -
GDBM
# length -> Integer (27604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
Gem
:: SourceIndex # length -> Integer (27604.0) -
自身に含まれる Gem の個数を返します。
自身に含まれる Gem の個数を返します。 -
Net
:: HTTPHeader # length -> Integer (27604.0) -
このメソッドは obsolete です。
このメソッドは obsolete です。
ヘッダフィールドの数を返します。 -
Readline
:: HISTORY . length -> Integer (27604.0) -
ヒストリに格納された内容の数を取得します。
ヒストリに格納された内容の数を取得します。
例: ヒストリの内容を最初から順番に出力する。
require "readline"
Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.length #=> 3
@see Readline::HISTORY.empty? -
SDBM
# length -> Integer (27604.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
=== 注意
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
Thread
:: Queue # length -> Integer (27604.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
Fiddle
:: Pointer # to _ str(len) -> String (27319.0) -
自身が指す領域から長さ len の文字列を複製して返します。
自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。 -
Fiddle
:: Closure (27109.0) -
コールバック関数を表すクラスです。
コールバック関数を表すクラスです。
Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。
FFI の closure の wrapper です。
利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブジェクトを生成することで利用します。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(v... -
Fiddle
:: Pointer # to _ str -> String (27019.0) -
自身が指す領域から長さ len の文字列を複製して返します。
自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。 -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (19273.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fidd... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (19204.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
Etc
:: SC _ 2 _ LOCALEDEF -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ AIO _ PRIO _ DELTA _ MAX -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ CHILD _ MAX -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ DELAYTIMER _ MAX -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ MAPPED _ FILES -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ PRIORITY _ SCHEDULING -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ READER _ WRITER _ LOCKS -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ THREAD _ PRIORITY _ SCHEDULING -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ XOPEN _ REALTIME _ THREADS -> Integer (18913.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Hash
# length -> Integer (18658.0) -
ハッシュの要素の数を返します。
ハッシュの要素の数を返します。
//emlist[][ruby]{
h = { "d" => 100, "a" => 200, "v" => 300, "e" => 400 }
h.length #=> 4
h.size #=> 4
h.delete("a") #=> 200
h.length #=> 3
h.size #=> 3
//} -
Etc
:: PC _ CHOWN _ RESTRICTED -> Integer (18613.0) -
IO#pathconf の引数に指定します。
IO#pathconf の引数に指定します。
詳細は fpathconf(3) を参照してください。 -
pack テンプレート文字列 (10045.0)
-
pack テンプレート文字列
pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。
=== 整数のテンプレート... -
Array
# pack(template) -> String (1345.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
String
# unpack(template) -> Array (1345.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう...