るりまサーチ (Ruby 3.0)

最速Rubyリファレンスマニュアル検索!
19件ヒット [1-19件を表示] (0.131秒)

別のキーワード

  1. _builtin to_c
  2. etc sc_2_c_dev
  3. etc sc_2_c_bind
  4. tracer display_c_call
  5. tracer display_c_call?

ライブラリ

モジュール

キーワード

検索結果

StringScanner#pointer -> Integer (63307.0)

現在のスキャンポインタのインデックスを返します。

現在のスキャンポインタのインデックスを返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}

@see StringScanner#charpos

StringScanner#pointer=(n) (27307.0)

スキャンポインタのインデックスを n にセットします。

スキャンポインタのインデックスを n にセットします。

@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@return n を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\...

Array#pack(template) -> String (19258.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}

: d

倍精度浮動小数点数(機種依存)

x86_64 (IEEE754 倍...
..."\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}

: e

リトルエンディアンの単精度浮動小...

Array#pack(template, buffer: String.new) -> String (19258.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}

: d

倍精度浮動小数点数(機種依存)

x86_64 (IEEE754 倍...
..."\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}

: e

リトルエンディアンの単精度浮動小...

String#unpack(template) -> Array (19258.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}

: d

倍精度浮動小数点数(機種依存)

x86_64 (IEEE754 倍...
..."\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}

VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}

: e

リトルエンディアンの単精度浮動小...

絞り込み条件を変える

Fiddle::Function#call(*args) -> Integer|DL::CPtr|nil (18556.0)

関数を呼び出します。

関数を呼び出します。

Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。

引数の変換は以下の通りです。

: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみ...

StringScanner#pos -> Integer (18007.0)

現在のスキャンポインタのインデックスを返します。

現在のスキャンポインタのインデックスを返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}

@see StringScanner#charpos

StringScanner#pos=(n) (18007.0)

スキャンポインタのインデックスを n にセットします。

スキャンポインタのインデックスを n にセットします。

@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@return n を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\...

Fiddle::Pointer#-@ -> Fiddle::Pointer (9424.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#ref -> Fiddle::Pointer (9424.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#+@ -> Fiddle::Pointer (9394.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#ptr -> Fiddle::Pointer (9394.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#free -> Fiddle::CFunc (9388.0)

GC がメモリを解放するのに使用する Fiddle::CFunc オブジェクトを返します。

GC がメモリを解放するのに使用する Fiddle::CFunc オブジェクトを返します。

これは普通 Fiddle::Pointer#free= や Fiddle::Pointer.new によって設定されます。

Fiddle::Pointer#free=(cfunc) (9370.0)

GC が自身を解放するのに使う関数を Fiddle::CFunc で指定します。

GC が自身を解放するのに使う関数を Fiddle::CFunc で指定します。

@param cfunc 自身を解放するのに使われる関数を Fiddle::CFunc か整数で指定します。

Fiddle::Pointer#to_value -> object (9322.0)

自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、 自身が指すオブジェクトを返します。

自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、
自身が指すオブジェクトを返します。

例:

require 'fiddle'

s = 'abc'
i = Fiddle.dlwrap(s)
cptr = Fiddle::Pointer.new(i)
p cptr.to_value #=> "abc"

絞り込み条件を変える

Fiddle::CStruct#to_ptr -> Fiddle::Pointer (9307.0)

保持している構造体へのポインタを返します。

保持している構造体へのポインタを返します。

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (406.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。

これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。

opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。

@return インポートした関数を表す ...

Fiddle::Importer#import_symbol(name) -> Fiddle::Pointer (343.0)

取り込んだライブラリからシンボルをインポートします。

取り込んだライブラリからシンボルをインポートします。

返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。

@param name シンボル名(文字列)

Fiddle::Importer#sizeof(t) -> Integer (88.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 を返します。

それ...