るりまサーチ (Ruby 3.1)

最速Rubyリファレンスマニュアル検索!
16件ヒット [1-16件を表示] (0.030秒)
トップページ > バージョン:3.1[x] > クエリ:ruby[x] > クエリ:pointer[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

モジュール

キーワード

検索結果

StringScanner#pointer -> Integer (54322.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) (18322.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(/\...

ruby 1.8.4 feature (13498.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...

Fiddle::Pointer.[](val) -> Fiddle::Pointer (9499.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

与えられた val と関連した Pointer オブジェクトを生成して返します。

val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。

val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。

上以外の場合は、整数に変換(to_int)し
それをアドレスとする P...

Fiddle::Pointer.to_ptr(val) -> Fiddle::Pointer (9499.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

与えられた val と関連した Pointer オブジェクトを生成して返します。

val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。

val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。

上以外の場合は、整数に変換(to_int)し
それをアドレスとする P...

絞り込み条件を変える

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

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

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

例:

require 'fiddle'

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

StringScanner#pos -> Integer (9022.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) (9022.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 (1801.0)

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

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

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。

buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上...

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

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

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

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。

buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上...

絞り込み条件を変える

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

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

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

@param template pack テンプレート文字列
@return オブジェクトの配列


以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。

長さの意味はテンプレート文字により異なりますが大...

pack テンプレート文字列 (1783.0)

pack テンプレート文字列

pack テンプレート文字列

以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。

テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。...

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

関数を呼び出します。

関数を呼び出します。

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

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

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

fiddle (145.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。

require ...

StringScanner (109.0)

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。

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

s = StringScanner.new('This is an example string')
s.eos? #=> false

p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> "is"...

絞り込み条件を変える

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

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

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

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

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

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

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