キーワード
-
ARGF
. class (1) - ArgumentError (1)
- Array (1)
- BasicObject (1)
- Bignum (1)
- Binding (1)
- Class (1)
- ClosedQueueError (1)
- CompatibilityError (1)
- Complex (1)
- ConditionVariable (2)
- Converter (1)
- ConverterNotFoundError (1)
- Data (1)
- Dir (1)
- DomainError (1)
- E2BIG (1)
- EACCES (1)
- EADDRINUSE (1)
- EADDRNOTAVAIL (1)
- EADV (1)
- EAFNOSUPPORT (1)
- EAGAIN (1)
- EALREADY (1)
- EAUTH (1)
- EBADE (1)
- EBADF (1)
- EBADFD (1)
- EBADMSG (1)
- EBADR (1)
- EBADRPC (1)
- EBADRQC (1)
- EBADSLT (1)
- EBFONT (1)
- EBUSY (1)
- ECANCELED (1)
- ECAPMODE (1)
- ECHILD (1)
- ECHRNG (1)
- ECOMM (1)
- ECONNREFUSED (1)
- EDEADLK (1)
- EDEADLOCK (1)
- EDESTADDRREQ (1)
- EDOM (1)
- EDOOFUS (1)
- EDOTDOT (1)
- EDQUOT (1)
- EEXIST (1)
- EFAULT (1)
- EFBIG (1)
- EFTYPE (1)
- EHOSTDOWN (1)
- EHOSTUNREACH (1)
- EHWPOISON (1)
- EIDRM (1)
- EILSEQ (1)
- EINPROGRESS (1)
- EINTR (1)
- EINVAL (1)
- EIO (1)
- EIPSEC (1)
- EISCONN (1)
- EISDIR (1)
- EISNAM (1)
- EKEYEXPIRED (1)
- EKEYREJECTED (1)
- EKEYREVOKED (1)
- EL2HLT (1)
- EL2NSYNC (1)
- EL3HLT (1)
- EL3RST (1)
- ELIBACC (1)
- ELIBBAD (1)
- ELIBEXEC (1)
- ELIBMAX (1)
- ELIBSCN (1)
- ELNRNG (1)
- ELOOP (1)
- EMEDIUMTYPE (1)
- EMFILE (1)
- EMLINK (1)
- EMSGSIZE (1)
- EMULTIHOP (1)
- ENAMETOOLONG (1)
- ENAVAIL (1)
- ENEEDAUTH (1)
- ENETDOWN (1)
- ENETRESET (1)
- ENETUNREACH (1)
- ENFILE (1)
- ENOANO (1)
- ENOATTR (1)
- ENOBUFS (1)
- ENOCSI (1)
- ENODATA (1)
- ENODEV (1)
- ENOENT (1)
- ENOEXEC (1)
- ENOKEY (1)
- ENOLCK (1)
- ENOLINK (1)
- ENOMEDIUM (1)
- ENOMEM (1)
- ENOMSG (1)
- ENONET (1)
- ENOPKG (1)
- ENOPROTOOPT (1)
- ENOSPC (1)
- ENOSR (1)
- ENOSTR (1)
- ENOSYS (1)
- ENOTBLK (1)
- ENOTCAPABLE (1)
- ENOTCONN (1)
- ENOTDIR (1)
- ENOTEMPTY (1)
- ENOTNAM (1)
- ENOTRECOVERABLE (1)
- ENOTSOCK (1)
- ENOTSUP (1)
- ENOTTY (1)
- ENOTUNIQ (1)
- ENXIO (1)
- EOFError (1)
- EOPNOTSUPP (1)
- EOVERFLOW (1)
- EOWNERDEAD (1)
- EPERM (1)
- EPFNOSUPPORT (1)
- EPIPE (1)
- EPROCLIM (1)
- EPROCUNAVAIL (1)
- EPROGMISMATCH (1)
- EPROGUNAVAIL (1)
- EPROTONOSUPPORT (1)
- EPROTOTYPE (1)
- ERANGE (1)
- EREMCHG (1)
- EREMOTE (1)
- EREMOTEIO (1)
- ERESTART (1)
- ERFKILL (1)
- EROFS (1)
- ERPCMISMATCH (1)
- ESHUTDOWN (1)
- ESOCKTNOSUPPORT (1)
- ESPIPE (1)
- ESRCH (1)
- ESRMNT (1)
- ESTALE (1)
- ESTRPIPE (1)
- ETIME (1)
- ETIMEDOUT (1)
- ETOOMANYREFS (1)
- ETXTBSY (1)
- EUCLEAN (1)
- EUNATCH (1)
- EUSERS (1)
- EWOULDBLOCK (1)
- EXDEV (1)
- EXFULL (1)
- EXXX (1)
- Encoding (1)
- EncodingError (1)
- Enumerator (1)
- Exception (1)
- FalseClass (1)
- Fiber (1)
- FiberError (1)
- File (1)
- Fixnum (1)
- Float (1)
- FloatDomainError (1)
- Hash (1)
- IO (1)
- IOError (1)
- IndexError (1)
- InstructionSequence (1)
- Integer (1)
- Interrupt (1)
- InvalidByteSequenceError (1)
- KeyError (1)
- Lazy (1)
- LoadError (1)
- LocalJumpError (1)
- Location (1)
- MatchData (1)
- Method (1)
- Module (1)
- Mutex (2)
- NOERROR (1)
- NameError (1)
- NilClass (1)
- NoMemoryError (1)
- NoMethodError (1)
- NotImplementedError (1)
- Numeric (1)
- Object (1)
- Proc (1)
- Queue (2)
- Random (1)
- Range (1)
- RangeError (1)
- Rational (1)
- Regexp (1)
- RegexpError (1)
- RubyVM (1)
- RuntimeError (1)
- ScriptError (1)
- SecurityError (1)
- SignalException (1)
- SizedQueue (2)
- StandardError (1)
- Stat (1)
- Status (1)
- StopIteration (1)
- String (1)
- Struct (1)
- Symbol (1)
- SyntaxError (1)
- SystemCallError (1)
- SystemExit (1)
- SystemStackError (1)
- Thread (1)
- ThreadError (1)
- ThreadGroup (1)
- Time (1)
- Tms (1)
- TracePoint (1)
- TrueClass (1)
- TypeError (1)
- UnboundMethod (1)
- UncaughtThrowError (1)
- UndefinedConversionError (1)
- WeakMap (1)
- Yielder (1)
- ZeroDivisionError (1)
- fatal (1)
検索結果
-
ObjectSpace
:: WeakMap (24010.0) -
GC の対象になるオブジェクトへの weak reference を持つクラスです。主に WeakRef クラスの内部で使用されるため、weakref ライブラリ 経由で使用してください。
GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
WeakRef クラスの内部で使用されるため、weakref ライブラリ
経由で使用してください。 -
Proc (24010.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
ブロックをコンテキスト(ローカル変数のスコープやスタックフ
レーム)とともにオブジェクト化した手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo ... -
Process
:: Status (24010.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
... -
Process
:: Tms (24010.0) -
Process.#times の返り値を表現する構造体です。
Process.#times の返り値を表現する構造体です。
この機能がサポートされているプラットフォーム上でプロセスの
処理時間に関する情報を保持します。プラットフォームによっては
使えない値があります。
@see Process.#times -
Queue (24010.0)
-
Alias of Thread::Queue
Alias of Thread::Queue -
Random (24010.0)
-
MT19937に基づく擬似乱数生成器を提供するクラスです。
MT19937に基づく擬似乱数生成器を提供するクラスです。
=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html -
Range (24010.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
範囲オブジェクトのクラス。
範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、
日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
==== 作り方
範囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 ... -
RangeError (24010.0)
-
範囲に関する例外クラスです。 値が定義域から外れているときに発生します。
範囲に関する例外クラスです。
値が定義域から外れているときに発生します。
例:
1000000.chr -
Rational (24010.0)
-
有理数を扱うクラスです。
有理数を扱うクラスです。
「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。
//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}
Rational オブジェク... -
Regexp (24010.0)
-
正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式 で記述します。
正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式
で記述します。
//emlist[][ruby]{
/^this is regexp/
//}
Regexp.new(string) を使って正規表現オブジェクトを動的に生成する
こともできます。
//emlist[][ruby]{
str = "this is regexp"
rp1 = Regexp.new("^this is regexp")
p rp1 =~ str # => 0
p Regexp.last_match[0] # => "this is regexp"
//}
spec/rege... -
RegexpError (24010.0)
-
正規表現のコンパイルに失敗したときに発生します。
正規表現のコンパイルに失敗したときに発生します。
例:
$ ruby -e 'Regexp.compile("*")'
-e:1:in `initialize': target of repeat operator is not specified: /*/ (RegexpError)
from -e:1:in `Regexp#compile'
from -e:1 -
RubyVM (24010.0)
-
Ruby の 内部情報へのアクセス手段を提供するクラスです。 デバッグ用、プロトタイピング用、研究用などの とても限定された用途向けです。 一般ユーザーは使うべきではありません。
Ruby の 内部情報へのアクセス手段を提供するクラスです。
デバッグ用、プロトタイピング用、研究用などの
とても限定された用途向けです。
一般ユーザーは使うべきではありません。 -
RubyVM
:: InstructionSequence (24010.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
RuntimeError (24010.0)
-
特定の例外クラスには該当しないエラーが起こったときに発生します。 また Kernel.#raise で例外クラスを指定しなかった場合も RuntimeError が発生します。
特定の例外クラスには該当しないエラーが起こったときに発生します。
また Kernel.#raise で例外クラスを指定しなかった場合も
RuntimeError が発生します。 -
ScriptError (24010.0)
-
スクリプトのエラーを表す例外クラスです。
スクリプトのエラーを表す例外クラスです。
以下の例外クラスのスーパークラスです。
* LoadError
* NotImplementedError
* SyntaxError
これらの例外が発生したときは Ruby スクリプト自体に
バグがある可能性が高いと考えられます。 -
SecurityError (24010.0)
-
セキュリティ上の問題が起きたときに発生します。
セキュリティ上の問題が起きたときに発生します。
spec/safelevelも参照してください。 -
SignalException (24010.0)
-
捕捉していないシグナルを受け取ったときに発生します。
捕捉していないシグナルを受け取ったときに発生します。
実際に発生したシグナル名は、
Exception#message から
「"SIG" + シグナル名」という形で得られます。
デフォルトの状態では、
以下のシグナルが SignalException を発生させます。
* SIGALRM
* SIGHUP
* SIGINT (※ただし以下参照)
* SIGQUIT
* SIGUSR1
* SIGUSR2
* SIGTERM
なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである
Interrupt が発生します。 -
SizedQueue (24010.0)
-
Alias of Thread::SizedQueue
Alias of Thread::SizedQueue -
StandardError (24010.0)
-
通常のプログラムで発生する可能性の高い 例外クラスを束ねるためのクラスです。
通常のプログラムで発生する可能性の高い
例外クラスを束ねるためのクラスです。
StandardError とそのサブクラスは、
rescue 節でクラスを省略したときにも捕捉できます。 -
StopIteration (24010.0)
-
イテレーションを止めるときに発生する例外です。
イテレーションを止めるときに発生する例外です。 -
String (24010.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
文字列のクラスです。
ヌル文字を含む任意のバイト列を扱うことができます。
文字列の長さにはメモリ容量以外の制限はありません。
文字列は通常、文字列リテラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q... -
Struct (24010.0)
-
構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。
構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。
個々の構造体はサブクラスから Struct.new を使って生成します。個々
の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義され
ています。 -
Symbol (24010.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。
シンボルオブジェクトは以下のようなリテラルで得られます。
:symbol
:'symbol'
%s!symbol! # %記法
生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'... -
SyntaxError (24010.0)
-
ソースコードに文法エラーがあったときに発生します。
ソースコードに文法エラーがあったときに発生します。 -
SystemCallError (24010.0)
-
Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。 システムコールの失敗した原因を表すエラーコードを保持します。
Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。
システムコールの失敗した原因を表すエラーコードを保持します。
多くの場合、実際には SystemCallError そのものではなく
サブクラスである Errno::EXXX (XXX はエラーコードの値によって異なる。
システム定義のエラー名と同じ名前) が発生します。
詳しくは Errno::EXXX を参照してください。 -
SystemExit (24010.0)
-
Ruby インタプリタを終了させるときに発生します。
Ruby インタプリタを終了させるときに発生します。 -
SystemStackError (24010.0)
-
システムスタックがあふれたときに発生します。
システムスタックがあふれたときに発生します。
典型的には、メソッド呼び出しを無限再帰させてしまった場合に発生します。
ほとんどの場合は実際にスタックがあふれる前に
SystemStackError 例外が発生しますが、
運が悪いと例外を発生させる間もなくスタックがあふれてしまうこともあります。
その場合は [BUG] というエラーメッセージが出たり、
"segmentation fault (core dumped)" などと表示されて
プロセスが異常終了します。
この問題の解決策は検討されていますが、
近いうちには修正できない可能性があります。 -
Thread (24010.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡... -
Thread
:: Backtrace :: Location (24010.0) -
Ruby のフレームを表すクラスです。
...例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'
//emlist[例2][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
p... -
Thread
:: ConditionVariable (24010.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mut... -
Thread
:: Mutex (24010.0) -
Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
m.lock
begin
# m によって保護されたクリティカルセクション
ensure
m.unlock
end
または、より簡単に
m.synchronize {
# m によって保護されたクリティカルセクション
} -
Thread
:: Queue (24010.0) -
Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。
Queue はスレッド間の FIFO(first in first out) の通信路です。ス
レッドが空のキューを読み出そうとすると停止します。キューになんら
かの情報が書き込まれると実行は再開されます。
最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。
=== 例
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resou... -
Thread
:: SizedQueue (24010.0) -
サイズの最大値を指定できる Thread::Queue です。
サイズの最大値を指定できる Thread::Queue です。
=== 例
283 より。q をサイズ 1 の SizedQueue オブジェクトに
することによって、入力される行と出力される行が同じ順序になります。
q = [] にすると入力と違った順序で行が出力されます。
require 'thread'
q = SizedQueue.new(1)
th = Thread.start {
while line = q.pop
print line
end
}
while l = gets
q.push(l)
end
... -
ThreadError (24010.0)
-
Thread 関連のエラーが起きたときに発生します。
Thread 関連のエラーが起きたときに発生します。
* カレントスレッドを Thread#join しようとしたとき
* Thread#join でデッドロックしそうになったとき
* 終了したスレッドを Thread#wakeup あるいは Thread#run しようとしたとき
* スレッドが一つしかないのに Thread.stop しようとしたとき
* Kernel.#throw がスレッド内で Kernel.#catch されないとき
* スレッドから return しようとしたとき
* イテレータを与えずにスレッドを生成しようとしたとき
* カレン... -
ThreadGroup (24010.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。
Thread は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
メインスレッドはデフォルトでは ThreadGroup::Default に属します。
: 例:
生成したすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
... -
Time (24010.0)
-
時刻を表すクラスです。
時刻を表すクラスです。
Time.now は現在の時刻を返します。
File.mtime などが返すファイルのタイムスタンプは Time
オブジェクトです。
Time オブジェクトは時刻を起算時からの経過秒数で保持しています。
起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の
1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムに
よります。
Time オブジェクトが格納可能な時刻の範囲は環境によって異なっていましたが、
Ruby 1.9.2 からは OS の制限の影響を受けません。
また、Time オブジェクトは協定世界時と地方時... -
TracePoint (24010.0)
-
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で 提供するクラスです。
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で
提供するクラスです。
//emlist[例:例外に関する情報を収集する][ruby]{
trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448>
trace.enable
# => false
0 / 0
# => [5, :raise, #<ZeroDivisionError: divided by 0... -
TrueClass (24010.0)
-
true のクラス。 true は TrueClass クラスの唯一のインスタンスです。 true は真を表す代表のオブジェクトです。
...true のクラス。
true は TrueClass クラスの唯一のインスタンスです。
true は真を表す代表のオブジェクトです。... -
TypeError (24010.0)
-
メソッドの引数に期待される型ではないオブジェクトや、期待される振る舞いを持たないオブジェクトが渡された時に発生します。
メソッドの引数に期待される型ではないオブジェクトや、期待される振る舞いを持たないオブジェクトが渡された時に発生します。
@see ArgumentError -
UnboundMethod (24010.0)
-
レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。
...とができます。
//emlist[例: Method クラスの冒頭にある例を UnboundMethod で書くと以下のようになります。][ruby]{
class Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end
# 任意のキーとメソッドの関係をハッシュに保持して......mlist[例: 以下はメソッドの再定義を UnboundMethod を使って行う方法です。普通は alias や super を使います。][ruby]{
class Foo
def foo
p :foo
end
@@orig_foo = instance_method :foo
def foo
p :bar
@@orig_foo.bind(self).call
end
end
Foo.new.foo
# =... -
UncaughtThrowError (24010.0)
-
Kernel.#throw に指定した tag に対して一致する Kernel.#catch が存在しない場合に発生します。
Kernel.#throw に指定した tag に対して一致する
Kernel.#catch が存在しない場合に発生します。
throw "foo", "bar"
# => (例外発生) UncaughtThrowError: uncaught throw "foo" -
ZeroDivisionError (24010.0)
-
整数に対して整数の 0 で除算を行ったときに発生します。
整数に対して整数の 0 で除算を行ったときに発生します。 -
fatal (24010.0)
-
インタプリタ内部で致命的なエラーが起こったときに発生します。
インタプリタ内部で致命的なエラーが起こったときに発生します。
致命的なエラーとは、例えば以下のような状態です。
* スレッドのデッドロックが発生した
* -x オプションや -C オプションで指定されたディレクトリに移動できなかった
* -i オプション付きで起動されたが、
パーミッションなどの関係でファイルを変更できなかった
通常の手段では、
Ruby プログラムからは fatal クラスにはアクセスできません。