Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Process::GIDモジュール > switch
switch -> Integer
[permalink][rdoc]switch {...} -> object
実効グループ ID を一時的に変更するために使います。
実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が 等しい場合には、実効グループ ID を保存グループ ID に変更します。 変更前の実効グループ ID を返します。
ブロックが指定された場合、実効グループ ID を実グループ ID へ 変更しブロックを実行します。ブロック終了時に実効グループ ID を元の 値に戻します。ブロックの実行結果を返します。
なお、保存グループ ID を持たない環境でこのメソッドを実行すると 実グループ ID が変化します。
include Process # (r, e, s) == (500, 505, 505) p [gid, egid] #=> [500, 505] Process::GID.switch do p [gid, egid] #=> [500, 500] end p [gid, egid] #=> [500, 505]