ライブラリ
- ビルトイン (132)
- irb (24)
-
irb
/ ext / loader (12) -
net
/ ftp (12) - optparse (12)
- pstore (12)
-
webrick
/ compat (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Abort (12)
- ECONNABORTED (12)
- LoadAbort (12)
- OptionParser (12)
- Thread (12)
-
abort
_ on _ exception (24) -
abort
_ on _ exception= (24) - exit (12)
- exit! (12)
-
irb
_ abort (12) -
rb
_ catch (12) -
rb
_ f _ abort (12) -
rb
_ thread _ abort _ exc (12) -
rb
_ thread _ abort _ exc _ set (12) -
rb
_ thread _ s _ abort _ exc (12) -
rb
_ thread _ s _ abort _ exc _ set (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 5 feature (12) - thread (2)
- スレッド (12)
- 終了処理 (12)
検索結果
先頭5件
-
Errno
:: ECONNABORTED (12000.0) -
接続が中止された (POSIX.1)
接続が中止された (POSIX.1) -
IRB
:: Abort (12000.0) -
実行中の処理を中断する時に発生させる例外クラスです。
実行中の処理を中断する時に発生させる例外クラスです。 -
IRB
:: LoadAbort (12000.0) -
irb 中で require などを中断した場合に発生する例外です。
irb 中で require などを中断した場合に発生する例外です。 -
VALUE rb
_ catch(const char *tag , VALUE (*proc)() , VALUE data) (6324.0) -
catch と同等の動作を実行します。
...catch と同等の動作を実行します。
まず proc に、yield された値と data を渡して実行します。
その途中で tag が throw されたら rb_catch 全体を終了します。
throw が発生した場合はその値を返します。
throw が発生しなかったとき......を返します。
static VALUE
foo_yield(VALUE a, VALUE b)
{
return rb_yield(b);
}
static VALUE
foo_catch(VALUE obj)
{
return rb_catch("footag", foo_yield, INT2FIX(2));
}
static VALUE
foo_abort(VALUE obj)
{
return rb_throw("footag", Qnil);
}
void
In......it_foo(void)
{
VALUE Foo = rb_define_class("Foo", rb_cObject);
rb_define_method(Foo, "catch", foo_catch, 0);
rb_define_method(Foo, "abort", foo_abort, 0);
}... -
OptionParser (6024.0)
-
コマンドラインのオプションを取り扱うためのクラスです。
...ックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマン......parse する。
というような流れになります。
//emlist[][ruby]{
require "optparse"
ProgramConfig = Hash.new
opts = OptionParser.new
opts.on("-a"){|v| ProgramConfig[:a] = true } # オプション「-a」がコマンドラインで指定されていた場合の動作。
opts.parse!(ARG......リを表示してから exit します。
: --version
OptionParser#ver を表示してから exit します。
OptionParser#ver が定義されていない場合は、そのようにエラーメッセージを出力して abort します。
オプション「--version」に「,」で区切ら... -
Thread (6018.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
...時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行......るとスレッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。
===[a:exception] 例外発生時のスレッドの振る舞い
あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されな......付きで起動した場合も同様。
(オプションの詳細に関してはspec/rubycmd を参照)
* Thread.abort_on_exception でフラグを設定する。
* Thread#abort_on_exception で指定
したスレッドのフラグを設定する。
上記3つのいずれかが設定さ... -
thread (6006.0)
-
スレッド間キューや状態変数 (condition variable) を提供するライブラリです。
...間キューや状態変数 (condition variable) を提供するライブラリです。
このライブラリは Thread を拡張します。rubyインタプリタを
デバッグオプション付き($DEBUGを真)で実行したときには、
Thread.abort_on_exception を true にします。... -
ruby 1
. 6 feature (3366.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ature
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-sna......EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 とは異なる挙動です)
p Errno::EAGAIN......uby-bugs-ja:PR#91>))
%w!a! "b"
=> -:1: tried to allocate too big memory (NoMemoryError)
ruby 1.6.5 (2001-09-19) [i586-linux]
=> -:1: parse error
%w!a! "b"
^
ruby 1.6.5 (2001-10-10) [i586-linux]
: Thread
Thread#status が aborting 状... -
スレッド (3018.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
...る制御の流れです。
Ruby ではスレッドはThread クラスのインスタンスとして表されます。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行され......るとスレッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。
===[a:exception] 例外発生時のスレッドの振る舞い
あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されな......付きで起動した場合も同様。
(オプションの詳細に関してはspec/rubycmd を参照)
* Thread.abort_on_exception でフラグを設定する。
* Thread#abort_on_exception で指定
したスレッドのフラグを設定する。
上記3つのいずれかが設定さ... -
終了処理 (3016.0)
-
終了処理 Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。
...了します(関数 Kernel.#exit や Kernel.#abort
、メインスレッドに対する Thread.kill などは
SystemExit 例外を発生させます)。終了時には以下
の処理が順に実行されます。
(1) すべてのスレッドを Thread.kill する。
(1) Ruby の擬似シグナ......ル SIGEXIT のハンドラが登録されていればそれを実
行する(Kernel.#trap を参照)。
(1) d:spec/control#END ブロック(END { ... } または関数
Kernel.#at_exit で指定したブロック)が登録されていれば、
そのブロックを登録とは逆......した大域脱出はそのブロックの処理を中断するが、スクリプトはまだ終
了しない。
(1) ObjectSpace.#define_finalizer により、ファイナ
ライザが登録されていればそれらを実行する。実行順序は不定。
ファイナ...