クラス
-
ARGF
. class (2) - Encoding (4)
- Module (1)
モジュール
- Kernel (21)
- ObjectSpace (2)
キーワード
-
$ -0 (1) -
$ -F (1) -
$ -I (1) -
$ -K (1) -
$ -W (1) -
$ -a (1) -
$ -d (1) -
$ -i (1) -
$ -l (1) -
$ -p (1) -
$ -v (1) -
$ -w (1) -
$ / (1) -
$ : (1) -
$ ; (1) -
$ > (1) -
$ DEBUG (1) -
$ KCODE (1) -
$ LOAD _ PATH (1) -
$ VERBOSE (1) -
$ stdout (1) - ARGF (1)
- Thread (1)
-
default
_ external (1) -
default
_ external= (1) -
default
_ internal (1) -
default
_ internal= (1) -
define
_ finalizer (2) -
deprecate
_ constant (1) -
inplace
_ mode (1) -
inplace
_ mode= (1)
検索結果
先頭5件
-
ARGF (25.0)
-
スクリプトに指定した引数 (Object::ARGV を参照) をファイル名とみなして、 それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 ARGV が空なら標準入力を対象とします。 ARGV を変更すればこのオブジェクトの動作に影響します。
スクリプトに指定した引数
(Object::ARGV を参照) をファイル名とみなして、
それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
ARGV が空なら標準入力を対象とします。
ARGV を変更すればこのオブジェクトの動作に影響します。
//emlist[][ruby]{
while line = ARGF.gets
# do something
end
//}
は、
//emlist[][ruby]{
while argv = ARGV.shift
File.open(argv) {|file|
while line = file.gets... -
ARGF
. class # inplace _ mode -> String | nil (25.0) -
c:ARGF#inplace で書き換えるファイルのバックアップに付加される拡 張子を返します。拡張子が設定されていない場合は空文字列を返します。イン プレースモードでない場合は nil を返します。
c:ARGF#inplace で書き換えるファイルのバックアップに付加される拡
張子を返します。拡張子が設定されていない場合は空文字列を返します。イン
プレースモードでない場合は nil を返します。
Ruby 起動時の -i オプション や ARGF.class#inplace_mode= で設定します。
例:
# $ echo "test" > test.txt
# $ ruby -i.bak test.rb test.txt
# $ cat test.txt # => "TEST"
# $ cat test.txt.bak # => "test"
# test... -
ARGF
. class # inplace _ mode=(ext) (25.0) -
c:ARGF#inplace時にバックアップファイルに付加する拡張子を設定します。 ピリオドも含めて指定する必要があります。
c:ARGF#inplace時にバックアップファイルに付加する拡張子を設定します。
ピリオドも含めて指定する必要があります。
バックアップを残さない場合は空文字列を指定します。
この機能は Windows では使用出来ません。
設定が有効になるのは次のファイルの処理に移った時です。
インプレースモードに入っていない場合はその時点でモードに入ります。
Ruby 起動時の -i オプションで設定することも出来ます。
@param ext インプレースモード時にバックアップファイルに付加する拡張子を
文字列で指定します。
ピリオドも含める必要があ... -
Encoding
. default _ external -> Encoding (25.0) -
既定の外部エンコーディングを返します。
既定の外部エンコーディングを返します。
標準入出力、コマンドライン引数、open で開くファイルなどで、外部エンコーディングが指定されていない場合の既定値として利用されます。
Rubyはロケールまたは -E オプションに従って default_external を決定します。ロケールの確認・設定方法については各システムのマニュアルを参照してください。
default_external は必ず設定されます。Encoding.locale_charmap が nil を返す場合には US-ASCII が、
ロケールにRubyが扱えないエンコーディングが指定されている場合には ASCII-8... -
Encoding
. default _ external=(encoding) (25.0) -
既定の外部エンコーディングを設定します。
既定の外部エンコーディングを設定します。
default_external を変更する前に作成した文字列と、default_external を変更した後に作成した文字列とではエンコーディングが異なる可能性があるため、Ruby スクリプト内で Encoding.default_external を設定してはいけません。代わりに、ruby -E を使用して、正しい default_external で Ruby を起動してください。
デフォルトの外部エンコーディングがどのように使われるかについては Encoding.default_external を参照してください。
@see spec... -
Encoding
. default _ internal -> Encoding | nil (25.0) -
既定の内部エンコーディングを返します。デフォルトでは nil です。
既定の内部エンコーディングを返します。デフォルトでは nil です。
標準入出力、コマンドライン引数、open で開くファイルなどで、内部エンコーディングが指定されていない場合の既定値として利用されます。
String#encode と String#encode! は、引数に Encoding が与えられていない場合、 default_internal を使用します。
文字列リテラルを作成した場合、エンコーディングには default_internal ではなく __ENCODING__ 特殊変数で参照できるスクリプトエンコーディングが使用されます。
default_internal... -
Encoding
. default _ internal=(encoding) (25.0) -
既定の内部エンコーディングを設定します。
既定の内部エンコーディングを設定します。
default_internal を変更する前に作成した文字列と、default_internal を変更した後に作成した文字列とではエンコーディングが異なる可能性があるため、Ruby スクリプト内で Encoding.default_internal を設定してはいけません。代わりに、ruby -E を使用して、正しい default_internal で Ruby を起動してください。
デフォルトの内部エンコーディングがどのように使われるかについては Encoding.default_internal を参照してください。
@see spe... -
Kernel
$ $ -0 -> String | nil (25.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
Kernel
$ $ -F -> Regexp | String | nil (25.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
Kernel
$ $ -I -> [String] (25.0) -
Rubyライブラリをロードするときの検索パスです。
...す。
require を呼んだときに読み込まれるファイルを特定できます。
//emlist[][ruby]{
p $LOAD_PATH.resolve_feature_path('set')
# => [:rb, "/build-all-ruby/2.7.0/lib/ruby/2.7.0/set.rb"]
//}
この変数はグローバルスコープです。
@see spec/rubycmd, spec/envvars... -
Kernel
$ $ -K -> nil (25.0) -
この特殊変数は何の影響も持たなくなりました。
この特殊変数は何の影響も持たなくなりました。
値を代入しても無視され、参照すると常に nil です。
>> $KCODE = true
(irb):1: warning: variable $KCODE is no longer effective; ignored
=> true
>> $KCODE
(irb):2: warning: variable $KCODE is no longer effective
=> nil
@see spec/rubycmd -
Kernel
$ $ -W -> 0 | 1 | 2 (25.0) -
コマンドラインオプション -W を指定したとき、 そのコマンドライン引数の値が設定されます。
コマンドラインオプション -W を指定したとき、
そのコマンドライン引数の値が設定されます。
つまり、$VERBOSE の値によって以下の値を返します。
: nil
0。警告を出力しない。
: false
1。重要な警告のみ出力する。(デフォルト)
: true
2。すべての警告を出力する。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -a -> bool (25.0) -
自動 split モードを表すフラグです。
自動 split モードを表すフラグです。
コマンドラインオプション -a を使ったとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -d -> bool (25.0) -
この値が真のときはインタプリタがデバッグモードになります。
この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあります。
* 通常時はいずれかのスレッドが例外によって終了しても
他のスレッドは実行を続けますが、デバッグモードでは
いずれかのスレッドが例外によって終了した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_excep... -
Kernel
$ $ -i -> String | nil (25.0) -
in-place 置換モードで用いられます。
in-place 置換モードで用いられます。
コマンドラインオプション -i を指定したとき、空文字列になります。
-i オプションに拡張子を渡した場合にはその拡張子が文字列として格納されます。
-i オプションが指定されていない時の値は nil です。
スクリプト内で $-i に代入することもでき、
その場合は Object::ARGV の次の
ファイルを読み込み始めるタイミングで in-place 置換を開始します。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -l -> bool (25.0) -
コマンドラインオプション -l を指定したとき true に設定されます。 この変数には代入できません。
コマンドラインオプション -l を指定したとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -p -> bool (25.0) -
コマンドラインオプション -p を指定したとき true に設定されます。 この変数には代入できません。
コマンドラインオプション -p を指定したとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -v -> bool | nil (25.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ -w -> bool | nil (25.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ / -> String | nil (25.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
Kernel
$ $ : -> [String] (25.0) -
Rubyライブラリをロードするときの検索パスです。
...す。
require を呼んだときに読み込まれるファイルを特定できます。
//emlist[][ruby]{
p $LOAD_PATH.resolve_feature_path('set')
# => [:rb, "/build-all-ruby/2.7.0/lib/ruby/2.7.0/set.rb"]
//}
この変数はグローバルスコープです。
@see spec/rubycmd, spec/envvars... -
Kernel
$ $ ; -> Regexp | String | nil (25.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
Kernel
$ $ > -> object (25.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
Kernel
$ $ DEBUG -> bool (25.0) -
この値が真のときはインタプリタがデバッグモードになります。
この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあります。
* 通常時はいずれかのスレッドが例外によって終了しても
他のスレッドは実行を続けますが、デバッグモードでは
いずれかのスレッドが例外によって終了した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_excep... -
Kernel
$ $ KCODE -> nil (25.0) -
この特殊変数は何の影響も持たなくなりました。
この特殊変数は何の影響も持たなくなりました。
値を代入しても無視され、参照すると常に nil です。
>> $KCODE = true
(irb):1: warning: variable $KCODE is no longer effective; ignored
=> true
>> $KCODE
(irb):2: warning: variable $KCODE is no longer effective
=> nil
@see spec/rubycmd -
Kernel
$ $ LOAD _ PATH -> [String] (25.0) -
Rubyライブラリをロードするときの検索パスです。
...す。
require を呼んだときに読み込まれるファイルを特定できます。
//emlist[][ruby]{
p $LOAD_PATH.resolve_feature_path('set')
# => [:rb, "/build-all-ruby/2.7.0/lib/ruby/2.7.0/set.rb"]
//}
この変数はグローバルスコープです。
@see spec/rubycmd, spec/envvars... -
Kernel
$ $ VERBOSE -> bool | nil (25.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ stdout -> object (25.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
Module
# deprecate _ constant(*name) -> self (25.0) -
name で指定した定数を deprecate に設定します。 deprecate に設定した定数を参照すると警告メッセージが表示されます。
name で指定した定数を deprecate に設定します。
deprecate に設定した定数を参照すると警告メッセージが表示されます。
Ruby 2.7.2 から Warning[:deprecated] のデフォルト値が false に変更になったため、
デフォルトでは警告が表示されません。
コマンドラインオプション(詳細はd:spec/rubycmd#cmd_option参照)で、
「-w」か「-W2」などを指定するか、実行中に「Warning[:deprecated] = true」で
変更すると表示されるようになります。
「$VERBOSE = true」は「Warnin... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (25.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (25.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
Thread (25.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...