るりまサーチ (Ruby 2.2.0)

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

別のキーワード

  1. gc stat
  2. gc latest_gc_info
  3. _builtin latest_gc_info
  4. _builtin gc
  5. gc opts

ライブラリ

モジュール

キーワード

検索結果

<< < 1 2 >>

static VALUE rb_mod_public(int argc, VALUE *argv, VALUE module) (301.0)

static VALUE rb_mod_public_method(int argc, VALUE *argv, VALUE obj) (301.0)

static VALUE rb_obj_extend(int argc, VALUE *argv, VALUE obj) (301.0)

static VALUE rb_obj_respond_to(int argc, VALUE *argv, VALUE obj) (301.0)

static VALUE rb_thread_join_m(int argc, VALUE *argv, VALUE thread) (301.0)

絞り込み条件を変える

static VALUE rb_thread_raise(int argc, VALUE *argv, rb_thread_t th) (301.0)

static VALUE rb_thread_raise_m(int argc, VALUE *argv, VALUE thread) (301.0)

static VALUE rb_thread_s_new(int argc, VALUE *argv, VALUE klass) (301.0)

static VALUE rb_undefined(VALUE obj, ID id, int argc, VALUE *argv, int call_status) (301.0)

static VALUE specific_eval(int argc, VALUE *argv, VALUE klass, VALUE self) (301.0)

rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。

rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。

絞り込み条件を変える

static VALUE top_include(int argc, VALUE *argv) (301.0)

static VALUE top_private(int argc, VALUE *argv) (301.0)

static VALUE top_public(int argc, VALUE *argv) (301.0)

static VALUE umethod_call(int argc, VALUE *argv, VALUE method) (301.0)

static void set_method_visibility(VALUE self, int argc, VALUE *argv, ID ex) (301.0)

絞り込み条件を変える

void rb_define_global_function(const char *name, VALUE (*func)(), int argc) (301.0)

関数 name を定義します。 func と argc は rb_define_method と同じです。

関数 name を定義します。
func と argc は rb_define_method と同じです。

例:
static VALUE
return_obj_dup(VALUE obj)
{
VALUE dup = rb_obj_dup(obj); // オブジェクトを複製
return dup;
}

void Init_func() {
rb_define_global_function("dup_obj", return_obj_dup, 1); // 関数 dup_objを定義しています。
...

void rb_define_method(VALUE klass, const char *name, VALUE(*func)(), int argc) (301.0)

クラスklassのインスタンスメソッドnameを定義します。

クラスklassのインスタンスメソッドnameを定義します。

argcはCの関数へ渡される引数の数(と形式)を決めます.

: argcが0以上の時
argcで指定した値がそのメソッドの引数の数になります。
16個以上の引数は使えません,

VALUE func(VALUE self, VALUE arg1, ... VALUE argN)

: argcが-1のとき
引数はCの配列として第二引数に入れて渡されます。
第一引数は配列の要素数です。

VALUE func(int argc, VALUE *argv, VALUE...

void rb_define_method_id(VALUE klass, ID name, VALUE (*func)(), int argc) (301.0)

klass に public メソッド name を定義します。 その実体は関数 func です。また argc の意味は rb_define_method と同じです。

klass に public メソッド name を定義します。
その実体は関数 func です。また argc の意味は
rb_define_method と同じです。

void rb_define_module_function(VALUE module, const char *name, VALUE (*func)(), int argc) (301.0)

モジュール module にモジュール関数 name を定義します。 func と argc は rb_define_method と同じです。

モジュール module にモジュール関数 name を定義します。
func と argc は rb_define_method と同じです。

void rb_define_private_method(VALUE klass, const char *name, VALUE(*func)(), int argc) (301.0)

クラス klass にプライベートインスタンスメソッド name を 定義します。その実体は関数 func であり、その関数がとる 引数のタイプを argc で指定します。argc のフォーマットに ついては rb_define_method の項を参照してください。

クラス klass にプライベートインスタンスメソッド name を
定義します。その実体は関数 func であり、その関数がとる
引数のタイプを argc で指定します。argc のフォーマットに
ついては rb_define_method の項を参照してください。

絞り込み条件を変える

void rb_define_protected_method(VALUE klass, const char *name, VALUE (*func)(), int argc) (301.0)

クラス klass に protected インスタンスメソッド name を 定義します。その実体は関数 func であり、その関数がとる 引数のタイプを argc で指定します。argc のフォーマットに ついては rb_define_method の項を参照してください。

クラス klass に protected インスタンスメソッド name を
定義します。その実体は関数 func であり、その関数がとる
引数のタイプを argc で指定します。argc のフォーマットに
ついては rb_define_method の項を参照してください。

void rb_define_singleton_method(VALUE obj, const char *name, VALUE (*func)(), int argc) (301.0)

obj に特異メソッド name を定義します。 メソッドの実体を func に関数ポインタで与え、その関数がとる 引数のタイプを argc に渡します。argc のフォーマットに ついては rb_define_method の記述を参照してください。

obj に特異メソッド name を定義します。
メソッドの実体を func に関数ポインタで与え、その関数がとる
引数のタイプを argc に渡します。argc のフォーマットに
ついては rb_define_method の記述を参照してください。

void rb_obj_call_init(VALUE obj, int argc, VALUE *argv) (301.0)

オブジェクト obj に対して initialize を呼び出します。 引数は長さ argc の配列 argv で表され、 ブロックが積んである場合はそれも自動的に渡されます。

オブジェクト obj に対して initialize を呼び出します。
引数は長さ argc の配列 argv で表され、
ブロックが積んである場合はそれも自動的に渡されます。

void ruby_options(int argc, char **argv) (301.0)

argc と argv を ruby への コマンドラインオプションとして処理します。

argc と argv を ruby への
コマンドラインオプションとして処理します。

NEWS for Ruby 2.2.0 (271.0)

NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...

絞り込み条件を変える

ruby 1.9 feature (127.0)

ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。

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

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ...

DRb::TimerIdConv (103.0)

オブジェクトと識別子を相互に変換するクラスです。 これによって識別子に変換されたオブジェクトは一定時間 GC から保護されます。

オブジェクトと識別子を相互に変換するクラスです。
これによって識別子に変換されたオブジェクトは一定時間
GC から保護されます。

DRb::DRbIdConv では to_id で識別子に
変換し、リモートに送られたオブジェクトは GC から保護されません。
ローカルプロセスからの参照がなくなったオブジェクトは、
リモートからの参照が生きていたとしても GC によって廃棄される
可能性があります。
このクラスを DRb::DRbIdConv の代わりに用いることで、
to_id でオブジェクトを識別子に変換してから
一定時間(DRb::TimerIdConv.new の timeout で指...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (91.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#define_finalizer(obj, proc) -> Array (91.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#garbage_collect(full_mark: true, immediate_sweep: true) -> nil (85.0)

どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。

どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。

@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。

@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。

注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
す。将来のバージョンとの互換性も保証されませ...

絞り込み条件を変える

DRb::DRbIdConv (73.0)

オブジェクトと識別子を相互に変換するクラスです。

オブジェクトと識別子を相互に変換するクラスです。

リモートオブジェクトは、URIと識別子で区別されます。
リモートメソッド呼び出しは、リモートプロセスに識別子を
送り、それを受け取ったプロセスでオブジェクトに変換することで実現されます。

このクラスはdRubyでデフォルトとして使われる
のオブジェクト-識別子間の変換クラスです。
この変換には ObjectSpace の機構が使われます。特に
ObjectSpace.#_id2ref が使われています。
これはリモートオブジェクト
が有効なのはリモートプロセス内の対応オブジェクトが GC で回収されるまで
であることを意味します。一方 GC...

NEWS for Ruby 2.0.0 (73.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...

Symbol (73.0)

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

...複製しても同じ要素へのポインタが使われるだけなので
メモリ使用量は普通の文字列と比べて少ないです。

2.2.0
以降においては、テーブルに記録された情報は
Ruby によって GC されます。すなわち、ある使わなくなった
...

Benchmark.#bmbm(width = 0) {|job| ... } -> [Benchmark::Tms] (55.0)

Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。

Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。

ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する事によってこの影響を最小化します。
一回目は実行環境を安定化するためにリハーサルとして実行します。二回目は本番として
実行します。

二回目のブロック実行の前に GC.start を実行しますが、この実行時間は計測には
含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する
ことは保証されません。

@param width ラベルの幅を...

Ruby用語集 (55.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...

絞り込み条件を変える

ruby 1.8.4 feature (55.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]: 追加され...

環境変数 (55.0)

環境変数 Rubyインタプリタは以下の環境変数を参照します。

環境変数
Rubyインタプリタは以下の環境変数を参照します。

: RUBYOPT
Rubyインタプリタにデフォルトで渡すオプションを指定します。

指定できないオプションを指定した場合、例外が発生します。

//emlist{
$ RUBYOPT=-y ruby -e ""
ruby: invalid switch in RUBYOPT: -y (RuntimeError)
//}

sh系

//emlist{
RUBYOPT='-Ke -rkconv'
export RUBYOPT
//}

csh系

//emlist{
setenv RU...

Fiddle::Handle#close_enabled? -> bool (49.0)

GC によるオブジェクトの回収時に self をクローズする(Fiddle::Handle#close) かどうかを真偽値で返します。

GC によるオブジェクトの回収時に self をクローズする(Fiddle::Handle#close)
かどうかを真偽値で返します。


@see Fiddle::Handle#enable_close, Fiddle::Handle#disable_close

Fiddle::Handle#disable_close -> nil (49.0)

GC によるオブジェクトの回収時に self をクローズしない(Fiddle::Handle#close) ように設定します。

GC によるオブジェクトの回収時に self をクローズしない(Fiddle::Handle#close)
ように設定します。

デフォルトでは close しません。

@see Fiddle::Handle#enable_close, Fiddle::Handle#close_enabled?

Fiddle::Handle#enable_close -> nil (49.0)

GC によるオブジェクトの回収時に self をクローズする(Fiddle::Handle#close) ように設定します。

GC によるオブジェクトの回収時に self をクローズする(Fiddle::Handle#close)
ように設定します。

デフォルトでは close しません。

@see Fiddle::Handle#disable_close, Fiddle::Handle#close_enabled?

絞り込み条件を変える

Fiddle::Pointer#free -> Fiddle::CFunc (49.0)

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

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

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

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

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

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

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

ObjectSpace::WeakMap (49.0)

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に WeakRef クラスの内部で使用されるため、weakref ライブラリ 経由で使用してください。

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
WeakRef クラスの内部で使用されるため、weakref ライブラリ
経由で使用してください。

Tempfile#close(real = false) -> nil (49.0)

テンポラリファイルをクローズします。 real が偽ならば、テンポラリファイルはGCによって削除されます。 そうでなければ、すぐに削除されます。

テンポラリファイルをクローズします。
real が偽ならば、テンポラリファイルはGCによって削除されます。
そうでなければ、すぐに削除されます。

@param real false もしくはそれ以外を指定します。

require "tempfile"
tf = Tempfile.open("bar")
tf.close
p FileTest.exist?(tf.path) # => true

WeakRef#weakref_alive? -> bool (49.0)

参照先のオブジェクトがまだ生きていれば真を返します。 GC されていれば偽を返します。

参照先のオブジェクトがまだ生きていれば真を返します。
GC されていれば偽を返します。

絞り込み条件を変える

WeakRef::RefError (49.0)

GC されたオブジェクトを参照しようとしたときに発生する例外です。

GC されたオブジェクトを参照しようとしたときに発生する例外です。

drb/timeridconv (49.0)

DRb::DRbIdConv の拡張 DRb::TimerIdConv を定義 するライブラリ。 DRb::DRbIdConv の GC 問題をタイムアウトを定めることで 部分的に解決します。

DRb::DRbIdConv の拡張 DRb::TimerIdConv を定義
するライブラリ。
DRb::DRbIdConv の GC 問題をタイムアウトを定めることで
部分的に解決します。

void * ruby_xcalloc(long n, long size) (49.0)

引数と返り値は calloc() と同じです。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは例外 NoMemoryError を発生します。 つまりこの関数が返り値を返したときは常に割り当ては成功です。

引数と返り値は calloc() と同じです。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは例外 NoMemoryError を発生します。
つまりこの関数が返り値を返したときは常に割り当ては成功です。

void * ruby_xmalloc(long size) (49.0)

引数と返り値は malloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。

引数と返り値は malloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。

void * ruby_xrealloc(void *ptr, long size) (49.0)

引数と返り値の意味は realloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。

引数と返り値の意味は realloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。

絞り込み条件を変える

void rb_global_variable(VALUE *var) (49.0)

rb_gc_register_address と同じです。

rb_gc_register_address と同じです。

1.6.8から1.8.0への変更点(まとめ) (37.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

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

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

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

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


@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま...

Fiddle::Pointer.new(addr, size = 0, free = nil) -> Fiddle::Pointer (37.0)

与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。

与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。

size を指定した場合、アドレス addr に確保されているメモリ領域のサイズは
size であると仮定されます。GC は free 関数を使用してメモリを解放します。

@param addr 生成する Pointer オブジェクトが指すアドレスを整数で指定します。

@param size 生成する Pointer オブジェクトが指すメモリ領域のサイズを整数で指定します。

@param free GC 時に呼ばれる free 関数を Fiddle::Function オブジェクトか
...

ObjectSpace.#undefine_finalizer(obj) -> object (37.0)

obj に対するファイナライザをすべて解除します。 obj を返します。

obj に対するファイナライザをすべて解除します。
obj を返します。

@param obj ファイナライザを解除したいオブジェクトを指定します。

//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end

def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end

def undef
ObjectSpace.undefine_final...

絞り込み条件を変える

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

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

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

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


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

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

WeakRef (37.0)

weak reference を実現するクラスです。

weak reference を実現するクラスです。

WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、
ポイント先のオブジェクトは GC される可能性があります。
アクセスしようとしたときにオブジェクトが GC されていれば
WeakRef::RefError が発生します。

delegate も参照してください。

=== サンプルコード

require 'weakref'

foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo

char * STR2CSTR(VALUE str) (37.0)

Ruby のオブジェクト str から C の文字列を取り出します。 str が String でない場合は to_str によって変換を試みます。

Ruby のオブジェクト str から C の文字列を取り出します。
str が String でない場合は to_str によって変換を試みます。

返り値を free したり直接書き換えたりしてはいけません。

STR2CSTR は、与えられたオブジェクトが文字列でなく to_str メソッ
ドを持つ場合、内部で to_str を呼び出して暗黙の型変換を行い、
それが保持する文字列ポインタを返します。
しかし、このAPIでは暗黙の型変換結果となるオブジェクトがどこからも
保持されないため、注意して使用しないと結果が GC される可能性があります。

Ruby 1.7 以降では代わりに S...

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

pack テンプレート文字列

pack テンプレート文字列

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

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

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

=== 整数のテンプレート...

DRb::TimerIdConv.new(timeout=600) -> DRb::TimerIdConv (19.0)

TimerIdConv のインスタンスを生成して返します。

TimerIdConv のインスタンスを生成して返します。

@param timeout to_id で識別子に変換してからオブジェクトがGCされないことが保証される秒数

絞り込み条件を変える

Fiddle::Pointer.malloc(size, free = nil) -> Fiddle::Pointer (19.0)

与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。

与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。

@param size 確保したいメモリ領域のサイズを整数で指定します。

@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::Function オブジェクトか整数で指定します。

IO#autoclose=(bool) (19.0)

auto-close フラグを設定します。

auto-close フラグを設定します。

フラグが設定されているオブジェクトは
close時/GCでのファイナライザ呼出時にファイルデスクリプタを close します。
偽を設定すると close しません。

@param bool 真偽値でフラグを設定します
@see IO#autoclose?

f = open("/dev/null")
IO.for_fd(f.fileno)
# ...
f.gets # may cause Errno::EBADF

f = open("/dev/null")
IO.for_fd(f.fileno).auto...

IO.for_fd(fd, mode = "r", **opts) -> IO (19.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.new(fd, mode = "r", **opts) -> IO (19.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.open(fd, mode = "r", **opts) -> IO (19.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

絞り込み条件を変える

IO.open(fd, mode = "r", **opts) {|io| ... } -> object (19.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

ObjectSpace::WeakMap#[](key) -> object | nil (19.0)

引数 key で指定されたオブジェクトが参照するオブジェクトを返します。

引数 key で指定されたオブジェクトが参照するオブジェクトを返します。

参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェ
クトを参照している場合に nil を返します。

@param key 参照元のオブジェクトを指定します。

Rinda::TupleEntry (19.0)

タプルスペース内に含まれるタプルを管理するためのクラスです。 タプルの有効期限を管理し、タプルのキャンセル操作ができます。

タプルスペース内に含まれるタプルを管理するためのクラスです。
タプルの有効期限を管理し、タプルのキャンセル操作ができます。

Rinda::TupleSpace#write はこのオブジェクトを返し、
それを利用してタプルを明示的にキャンセルすることができます。

ただし、タプルスペースのあるプロセスがタプルを投入したプロセスと
異なる場合、これを受け取る側はリモートオブジェクトによって
このオブジェクトを参照します。そのためタプルスペースのプロセス側では
参照切れによるGCが発生し、TupleEntryオブジェクトが消滅してしまうかもしれません。
これを防ぐには何らかの仕掛けが必要でしょう。...

Rinda::TupleSpace#write(tuple, sec = nil) -> Rinda::TupleEntry (19.0)

tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

tuple をタプルスペースに加えます。
tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

sec で追加したタプルの有効期限を指定できます。
追加されてから sec 秒過ぎたタプルはタプルスペースから削除されます。
nil は無限を意味し、この場合にはタプルは経過時間によっては削除されません。

返り値の Rinda::TupleEntry オブジェクトを使ってタプルを明示的に
キャンセルしたり有効期限を変更したりできます。ただし、利用にはGCなどに
気を付ける必要があります。
詳しくはRinda::TupleEntry のエントリーを見てくださ...

Tempfile.create(basename, tmpdir=nil, mode: 0, **options) -> File (19.0)

テンポラリファイルを作成し、それを表す File オブジェクトを生成して返します(Tempfileではありません)。 createはopenに似ていますが、finalizerによるファイルの自動unlinkを行いません。

テンポラリファイルを作成し、それを表す File オブジェクトを生成して返します(Tempfileではありません)。
createはopenに似ていますが、finalizerによるファイルの自動unlinkを行いません。

ブロックを指定しなかった場合、tmpdirにファイルを作り、Fileオブジェクトを返します。
このファイルは自動的に削除されません。ファイルを削除する場合は明示的にunlinkすべきです。

ブロックを指定して呼び出した場合、tmpdirにファイルを作り、
Fileオブジェクトを引数としてブロックを呼び出します。
ブロック終了時にファイルをクローズするのはopenと同じで...

絞り込み条件を変える

Tempfile.create(basename, tmpdir=nil, mode: 0, **options) {|fp| ...} -> object (19.0)

テンポラリファイルを作成し、それを表す File オブジェクトを生成して返します(Tempfileではありません)。 createはopenに似ていますが、finalizerによるファイルの自動unlinkを行いません。

テンポラリファイルを作成し、それを表す File オブジェクトを生成して返します(Tempfileではありません)。
createはopenに似ていますが、finalizerによるファイルの自動unlinkを行いません。

ブロックを指定しなかった場合、tmpdirにファイルを作り、Fileオブジェクトを返します。
このファイルは自動的に削除されません。ファイルを削除する場合は明示的にunlinkすべきです。

ブロックを指定して呼び出した場合、tmpdirにファイルを作り、
Fileオブジェクトを引数としてブロックを呼び出します。
ブロック終了時にファイルをクローズするのはopenと同じで...

Thread (19.0)

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。


=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...

WIN32OLE#ole_free -> () (19.0)

selfが参照するCOMオブジェクトを解放します。

selfが参照するCOMオブジェクトを解放します。

selfが参照するCOMオブジェクトのIUnknown::Releaseを呼び出すことで、COMオ
ブジェクトを開放します。ole_freeを呼び出した後は、このオブジェクトに対
する操作は行えません。

excel = WIN32OLE.new('Excel.Application')
excel.ole_free # オブジェクトの解放
excel.Quit #=> RuntimeError (failed to get Dispatch Interface)

通常は利用されなくなったWIN32OLEオブジェ...

WIN32OLE::ARGV -> [object] (19.0)

直前のメソッド呼び出しの引数を格納した配列です。

直前のメソッド呼び出しの引数を格納した配列です。

OLEオートメーションでは呼び出し先が引数に対して値を設定できます。しかし、
Rubyのメソッド引数は値のみを取るため、そのままでは呼び出し先が設定した
値を参照できません。このような場合、ARGVを参照することで呼び出し先の設
定値を参照できます。

以下のリストは、VBで開発したオブジェクトのメソッド呼び出しを例としてい
ます。このメソッド(Accm)は、第1引数で指定した演算を第2引数と第3引数に
適用し、結果を第2引数に設定します。

' VB (OLE Automation server)
Public Sub Accm(...

WeakRef#__getobj__ -> object (19.0)

自身の参照先のオブジェクトを返します。

自身の参照先のオブジェクトを返します。

@raise WeakRef::RefError GC 済みのオブジェクトを参照した場合に発生します。

@see delegate

絞り込み条件を変える

char * StringValuePtr(VALUE val) (19.0)

val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。

val が String でなければ to_str メソッドを使って String に変換し、
その実体のポインタを返します。

このマクロに渡した VALUE は ruby の GC から確実に保護されます。

net/smtp (19.0)

メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。

メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol)
を扱うライブラリです。

ヘッダなどメールのデータを扱うことはできません。
SMTP の実装は 2821 に基いています。

=== 使用例

==== とにかくメールを送る

SMTP を使ってメールを送るにはまず SMTP.start でセッションを開きます。
第一引数がサーバのアドレスで第二引数がポート番号です。
ブロックを使うと File.open と同じように終端処理を自動的にやってくれる
のでおすすめです。

require 'net/smtp'
Net::SMTP....

ruby 1.6 feature (19.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

void StringValue(VALUE val) (19.0)

val が String でなければ to_str メソッドを使って String に変換します。

val が String でなければ to_str メソッドを使って String に変換します。

このマクロに渡した VALUE は ruby の GC から確実に保護されます。

スレッド (19.0)

スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。

スレッド
スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Ruby ではスレッドはThread クラスのインスタンスとして表されます。


=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...

絞り込み条件を変える

リテラル (19.0)

リテラル * num * string * backslash * exp * char * command * here * regexp * array * hash * range * symbol * percent

リテラル
* num
* string
* backslash
* exp
* char
* command
* here
* regexp
* array
* hash
* range
* symbol
* percent

数字の1や文字列"hello world"のようにRubyのプログラムの中に直接
記述できる値の事をリテラルといいます。

===[a:num] 数値リテラル

: 123
: 0d123

整数

: -123

符号つき整数

: 123.45

浮動小数点数。
.1 など "." で始まる浮動小...
<< < 1 2 >>