モジュール
- FileTest (292)
- Kernel (952)
- Marshal (44)
- Math (77)
- ObjectSpace (77)
- Process (396)
-
Process
:: GID (121) -
Process
:: Sys (165) -
Process
:: UID (121) - Signal (44)
キーワード
- Complex (22)
- Float (6)
- Integer (11)
- Rational (11)
- String (11)
-
_ _ callee _ _ (11) -
_ _ dir _ _ (11) -
_ _ method _ _ (11) -
_ id2ref (11) - ` (11)
- argv0 (11)
- asin (11)
- asinh (11)
-
at
_ exit (11) - autoload (11)
- autoload? (11)
- binding (11)
-
block
_ given? (11) - blockdev? (11)
- caller (33)
-
caller
_ locations (22) - catch (22)
-
change
_ privilege (22) - chardev? (11)
- chomp (11)
- chop (11)
-
clock
_ gettime (11) - daemon (11)
-
define
_ finalizer (22) - detach (11)
- directory? (11)
- dump (22)
-
each
_ object (22) - egid (11)
- egid= (11)
- eid (22)
- eid= (22)
- empty? (8)
- euid (11)
- euid= (11)
- eval (11)
- exec (44)
- executable? (11)
-
executable
_ real? (11) - exist? (11)
- exists? (9)
- exit (11)
- exit! (11)
- fail (33)
- file? (11)
- fork (22)
- format (11)
- frexp (11)
-
from
_ name (22) - gamma (11)
-
garbage
_ collect (11) - getegid (11)
- geteuid (11)
- getgid (11)
- getpgid (11)
- getpgrp (11)
- getpriority (11)
- getrlimit (11)
- gets (11)
- getsid (11)
- getuid (11)
- gid (11)
- gid= (11)
-
global
_ variables (11) -
grant
_ privilege (22) - groups (11)
- groups= (11)
- grpowned? (11)
- gsub (22)
- identical? (11)
- initgroups (11)
- issetugid (11)
- iterator? (11)
- kill (11)
- lgamma (11)
- list (11)
- load (22)
-
local
_ variables (11) - loop (11)
- maxgroups (11)
- open (22)
- owned? (11)
- pid (11)
- pipe? (11)
- ppid (11)
- print (11)
- printf (22)
- puts (11)
- raise (33)
- rand (22)
-
re
_ exchange (22) -
re
_ exchangeable? (22) - readable? (11)
-
readable
_ real? (11) - readline (11)
- readlines (11)
- require (11)
-
require
_ relative (11) - restore (11)
- rid (22)
- select (11)
- setegid (11)
- seteuid (11)
- setgid (11)
- setgid? (11)
- setpgid (11)
- setpriority (11)
- setproctitle (11)
- setregid (11)
- setresgid (11)
- setresuid (11)
- setreuid (11)
- setrgid (11)
- setrlimit (22)
- setruid (11)
- setsid (11)
- setuid (11)
- setuid? (11)
-
sid
_ available? (22) - signame (11)
- sin (11)
- sinh (11)
- size (11)
- size? (11)
- sleep (22)
- socket? (11)
- spawn (44)
- sprintf (11)
- srand (22)
- sticky? (11)
- sub (22)
- switch (44)
- symlink? (11)
- syscall (11)
- system (44)
- test (22)
- throw (11)
- times (11)
-
trace
_ var (33) - trap (44)
- uid (11)
- uid= (11)
-
undefine
_ finalizer (11) -
untrace
_ var (11) - wait (11)
- wait2 (11)
- waitall (11)
- waitpid (11)
- waitpid2 (11)
- warn (11)
-
world
_ readable? (11) -
world
_ writable? (11) - writable? (11)
-
writable
_ real? (11) - zero? (11)
検索結果
先頭5件
-
Kernel
. # binding -> Binding (20403.0) -
変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。
...変数・メソッドなどの環境情報を含んだ Binding オブジェクトを
生成して返します。通常、Kernel.#eval の第二引数として使います。
//emlist[例][ruby]{
def foo
a = 1
binding
end
eval("p a", foo) #=> 1
//}
@see Kernel.#eval,Object::TOPLEVEL_BINDING... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (20203.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (20203.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini... -
ObjectSpace
. # undefine _ finalizer(obj) -> object (20203.0) -
obj に対するファイナライザをすべて解除します。 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_finalizer(self)
end
end
Sample.new
GC.start
# => finalize
Sample.new......sample.undef
GC.start
# ※何も出力されない
//}
@see ObjectSpace.#define_finalizer... -
FileTest
. # file?(file) -> bool (17203.0) -
ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
...file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
FileTest.file?('/bin/bash') # => true
FileTest.file?('/bin') # => false
FileTest.fil......e?('/no_such_file') # => false... -
Process
:: GID . # eid=(id) (17203.0) -
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
...ループ ID を id に変更します。成功したら id を返します。
実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変......ess::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は......。
@param id グループ ID を整数で指定します。
@raise Errno::EXXX 設定できない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.gid, Process.egid]... -
Process
:: UID . # eid=(id) (17203.0) -
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
...効ユーザ ID を id に変更します。成功したら id を返します。
実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化す......Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化......。
@param id ユーザ ID を整数で指定します。
@raise Errno::EXXX 変更できない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.uid, Process.euid] #=>... -
Signal
. # signame(signo) -> String (17203.0) -
引数で指定されたシグナル番号をシグナル名に変換して返します。
...引数で指定されたシグナル番号をシグナル名に変換して返します。
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT
@see Signal.#list... -
Signal
. # signame(signo) -> String | nil (17203.0) -
引数で指定されたシグナル番号をシグナル名に変換して返します。 対応するシグナル番号が存在しない場合は nil を返します。
...引数で指定されたシグナル番号をシグナル名に変換して返します。
対応するシグナル番号が存在しない場合は nil を返します。
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT
@see Signal.#list... -
Process
:: GID . # eid -> Integer (17103.0) -
現在のプロセスの実効グループ ID を返します。
...現在のプロセスの実効グループ ID を返します。
利用できるかはプラットフォームに依存します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
Process.egid #=> 500... -
Process
:: GID . # grant _ privilege(id) -> Integer (17103.0) -
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
...ループ ID を id に変更します。成功したら id を返します。
実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変......ess::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は......。
@param id グループ ID を整数で指定します。
@raise Errno::EXXX 設定できない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.gid, Process.egid]...