るりまサーチ

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

別のキーワード

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

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

Kernel.#exit(status = true) -> () (24356.0)

Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。

...
Ruby
プログラムの実行を終了します。status として整
数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 0(正常終了)です。

status が true の場合 0、 false の場合 1 を引数に...
...ます。この値はCレベルの定数
EXIT
_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit
は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができ...
...true または false で与えます。

//emlist[例][ruby]{
puts
'start'
begin
puts
'start1...'
exit

rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
exit

e
nsure
puts
'end2...'
e
nd
puts
'end' #実行されない

#=> start
# start1...
# end1 wit...

Kernel.#exit!(status = false) -> () (12344.0)

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。

...
Ruby
プログラムの実行を即座に終了します。
status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 1 です。

status が true の場合 0、 false の場合 1 を引数に指...
...定したとみなされます。この値はCレベルの定数
EXIT
_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit
! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロセスを終了させる時などに用...
...s 終了ステータスを整数か true または false で与えます。

//emlist[例][ruby]{
STDOUT.sync = true #表示前に終了しないようにする
puts
'start'
begin
puts
'start1...'
exit
!
e
nsure
puts
'end1...' #実行されない
e
nd
puts
'end' #実行されない

#=> start
#...

Kernel.#at_exit { ... } -> Proc (12298.0)

与えられたブロックをインタプリタ終了時に実行します。

...at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。

@return 登録した処理を Proc オブジェクトで返します。

//emli...
...st[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
e
nd
E
ND{puts "END"}
at_exit{puts "at_exit"}
puts
"main_end"

#=> main_end
# at_exit
# END
# at_exit2
# at_exit1
# at_exit0
//}

@see d:spec/control#END,Kernel.#exit!,Kernel.#fork...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (9215.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...を sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

e
xception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec が...
...はいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.

例 長い...
...アウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts
"timeout"
e
nd

printf...
...

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメ...
..."execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){...

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (9215.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...を sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

e
xception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec が...
...

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメ...
..."execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){...

絞り込み条件を変える

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

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

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

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
e
nd
e
nd
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけ...
...tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts
"bar"
}
e
nd
def...

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

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

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

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
e
nd
e
nd
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけ...
...tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts
"bar"
}
e
nd
def...

Kernel.#abort(message) -> () (3205.0)

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

...
Ruby
プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、...
...$stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。


@param message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1...
...rt "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #実行されない

#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end2....
...エラーメッセージを標準エラー出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。

引数を省略した呼び出し時に $! が nil でなけれ...
...aram message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1...'
abort "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #...

Kernel.#fork -> Integer | nil (3161.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

...前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts
"parent process. pid: #{Process.pid}, child pid: #...
...> parent process. pid: 81060, child pid: 81329

# 親プロセスでの処理
# ...

# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
e
lse
puts
"child process. pid: #{Process.pid}"
# => child process. pid: 81329

# 子プロセスでの処理
sleep(1)
e
nd
//...
...}

//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts
"child process. pid: #{Process.pid}"
# => child process. pid: 79602

# 子プロセスでの処理
sleep(1)
e
nd

puts
"parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 79055,...
<< 1 2 > >>