クラス
-
File
:: Stat (1) - Object (2)
-
RubyVM
:: InstructionSequence (1)
モジュール
- Kernel (7)
キーワード
-
$ " (1) -
$ -I (1) -
$ : (1) -
$ LOADED _ FEATURES (1) -
$ LOAD _ PATH (1) - ConditionVariable (1)
- DATA (1)
- Queue (1)
-
SCRIPT
_ LINES _ _ (1) - of (1)
-
require
_ relative (1) - symlink? (1)
検索結果
先頭5件
-
Kernel
. # require(feature) -> bool (78418.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Kernel
. # require _ relative(relative _ feature) -> bool (42484.0) -
現在のファイルからの相対パスで require します。
現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load のスコープ
ローカル変数... -
Kernel
$ $ -I -> [String] (42436.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
$ $ : -> [String] (42436.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
$ $ LOAD _ PATH -> [String] (42436.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
$ $ " -> [String] (42376.0) -
Kernel.#require でロードされたファイル名を含む配列です。
Kernel.#require でロードされたファイル名を含む配列です。
Kernel.#require で同じファイルを
複数回ロードしないようにするためのロックとして使われます。
この変数はグローバルスコープです。 -
Kernel
$ $ LOADED _ FEATURES -> [String] (42376.0) -
Kernel.#require でロードされたファイル名を含む配列です。
Kernel.#require でロードされたファイル名を含む配列です。
Kernel.#require で同じファイルを
複数回ロードしないようにするためのロックとして使われます。
この変数はグローバルスコープです。 -
Object
:: SCRIPT _ LINES _ _ -> Hash (24133.0) -
ソースファイル別にまとめられたソースコードの各行。
ソースファイル別にまとめられたソースコードの各行。
この定数は、デフォルトでは定義されていません。
この定数がハッシュとして定義された後にソースがコンパイルされると、
そのソースファイル名をキーに、
ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。
この定数はデバッガ (debug) などで利用されています。
なお、 $SAFE レベルが 0 でなければ有効にはなりません。
また、 Kernel.#eval によるコンパイルは対象にはなりません。
例:
require 'pp'
SCRIPT_LINES__ = {}
require 'Eng... -
Object
:: DATA -> File (24061.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
スクリプトの __END__
プログラムの終り以降をアクセスする File オブジェクト。
d:spec/program#terminateも参照。
ソースファイルの __END__ 以降は解析・実行の対象にならないので
その部分にプログラムが利用するためのデータを書き込んでおくことができます。
DATA 定数はそのデータ部分にアクセスするための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、
... -
Thread
:: ConditionVariable (24061.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
File
:: Stat # symlink? -> false (24043.0) -
シンボリックリンクである時に真を返します。 ただし、File::Statは自動的にシンボリックリンクをたどっていくので 常にfalseを返します。
シンボリックリンクである時に真を返します。
ただし、File::Statは自動的にシンボリックリンクをたどっていくので
常にfalseを返します。
//emlist[][ruby]{
require 'fileutils'
outfile = $0 + ".ln"
FileUtils.ln_s($0, outfile)
p File::Stat.new(outfile).symlink? #=> false
p File.lstat(outfile).symlink? #=> true
p FileTest.symlink?(outfile) #=> true
//}
... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (24043.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
Thread
:: Queue (24043.0) -
Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。
Queue はスレッド間の FIFO(first in first out) の通信路です。ス
レッドが空のキューを読み出そうとすると停止します。キューになんら
かの情報が書き込まれると実行は再開されます。
最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。
=== 例
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resou...