ライブラリ
- ビルトイン (476)
- base64 (12)
- benchmark (24)
- bigdecimal (24)
-
bigdecimal
/ math (72) - erb (60)
- json (24)
- objspace (24)
- open-uri (16)
- open3 (72)
- shellwords (24)
- syslog (48)
- timeout (21)
モジュール
- Base64 (12)
- Benchmark (24)
- BigMath (96)
-
ERB
:: DefMethod (12) -
ERB
:: Util (48) - FileTest (24)
- JSON (24)
- Kernel (348)
- ObjectSpace (108)
- Open3 (72)
- Shellwords (24)
- Signal (36)
- Syslog (48)
- Timeout (21)
キーワード
- E (12)
- PI (12)
- ` (12)
- abort (24)
-
allocation
_ sourcefile (12) -
allocation
_ sourceline (12) -
at
_ exit (12) - atan (12)
-
block
_ given? (12) - blockdev? (12)
- chardev? (12)
- cos (12)
- decode64 (12)
-
def
_ erb _ method (12) -
define
_ finalizer (24) -
each
_ object (48) - exec (48)
- exit (12)
- exit! (12)
- exp (12)
- fork (24)
- h (12)
-
html
_ escape (12) - iterator? (12)
- log (12)
- loop (20)
- measure (12)
- open (40)
- open! (12)
- p (12)
-
pipeline
_ rw (24) -
pipeline
_ w (24) - popen3 (24)
-
pretty
_ generate (12) -
pretty
_ unparse (12) - print (12)
- realtime (12)
- reopen (12)
- shellescape (12)
- shelljoin (12)
- signame (12)
- sin (12)
- sleep (24)
- sqrt (12)
- test (24)
- throw (12)
- timeout (21)
-
trace
_ var (36) - trap (24)
- u (12)
-
undefine
_ finalizer (12) -
url
_ encode (12) - warn (12)
検索結果
先頭5件
-
Kernel
. # puts(*arg) -> nil (18144.0) -
引数と改行を順番に 標準出力 $stdout に出力します。 引数がなければ改行のみを出力します。
...、
次に to_s メソッドにより文字列へ変換を試みます。
末尾が改行で終っている引数や配列の要素に対しては puts 自身
は改行を出力しません。
@param arg 出力するオブジェクトを任意個指定します。
@raise IOError 標準出力が書......に失敗した場合に発生します。
//emlist[例][ruby]{
puts "foo", "bar\n", "baz"
puts "" # 改行のみ出力
puts # 改行のみ出力
puts nil # 改行のみ出力
puts ["oui", "non"]
#=> foo
# bar
# baz
#
#
#
# oui
# non
//}
@see Kernel.#print, Kernel.#p, IO#puts... -
Kernel
. # abort -> () (37.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...ジ文字列です。
//emlist[][ruby]{
puts 'start'
begin
puts 'start1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)... -
Kernel
. # abort(message) -> () (37.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...ジ文字列です。
//emlist[][ruby]{
puts 'start'
begin
puts 'start1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)... -
Kernel
. # exit(status = true) -> () (37.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...true または false で与えます。
//emlist[例][ruby]{
puts 'start'
begin
puts 'start1...'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
exit
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# end1 wit... -
Kernel
. # at _ exit { . . . } -> Proc (25.0) -
与えられたブロックをインタプリタ終了時に実行します。
...turn 登録した処理を Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{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,Ke... -
Kernel
. # exit!(status = false) -> () (25.0) -
Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。
...与えます。
//emlist[例][ruby]{
STDOUT.sync = true #表示前に終了しないようにする
puts 'start'
begin
puts 'start1...'
exit!
ensure
puts 'end1...' #実行されない
end
puts 'end' #実行されない
#=> start
# start1...
#終了ステータス:1
//}
@see Kernel.#exit,K... -
Kernel
. # fork -> Integer | nil (25.0) -
fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。
...y]{
if child_pid = fork
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 81060, child pid: 81329
# 親プロセスでの処理
# ...
# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
else
puts "child process. pid:......ep(1)
end
//}
//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602
# 子プロセスでの処理
sleep(1)
end
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process.... -
Kernel
. # fork { . . . } -> Integer | nil (25.0) -
fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。
...y]{
if child_pid = fork
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 81060, child pid: 81329
# 親プロセスでの処理
# ...
# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
else
puts "child process. pid:......ep(1)
end
//}
//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602
# 子プロセスでの処理
sleep(1)
end
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process.... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (25.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...efine_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジェ......ストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで......いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@see spec/rubycmd...