ライブラリ
- ビルトイン (20)
キーワード
- ` (1)
-
block
_ given? (1) - eval (2)
- exec (2)
-
global
_ variables (1) - iterator? (1)
- load (1)
-
local
_ variables (1) -
require
_ relative (1) - spawn (2)
- system (2)
- throw (1)
-
trace
_ var (3) -
untrace
_ var (1)
検索結果
先頭5件
-
Kernel
. # trace _ var(varname) {|new _ val| . . . . } -> nil (19051.0) -
グローバル変数 varname への代入のフックを登録します。
...は明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設定されていた
hook をすべて解除してその配列を返します(ブロッ......ます。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
Kernel
. # trace _ var(varname , hook) -> [String|Proc] (18751.0) -
グローバル変数 varname への代入のフックを登録します。
...は明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設定されていた
hook をすべて解除してその配列を返します(ブロッ......ます。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
Kernel
. # trace _ var(varname , hook) -> nil (18751.0) -
グローバル変数 varname への代入のフックを登録します。
...は明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設定されていた
hook をすべて解除してその配列を返します(ブロッ......ます。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
Kernel
. # untrace _ var(varname , hook = nil) -> [String|Proc] (18751.0) -
グローバル変数 varname に関連付けられたフックを解除します。
...#=> hookB."str",hookA."str",
untrace_var(:$v,block)
$v = 'str' #=> hookA."str",
trace_var(:$v){|val| print "hookC.#{val.inspect}," }
p untrace_var(:$v) #=> [#<Proc:0x02b68f58@..:9>, #<Proc:0x02b6978c@..:3>]
$v = 'str' # なにも出力されない
//}
@see Kernel.#trace_var... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (18607.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send... -
Kernel
. # require _ relative(relative _ feature) -> bool (18607.0) -
現在のファイルからの相対パスで require します。
...じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== r......ラリのローカル変数を
ロード元のスクリプトから直接取得することはできません。
このスコープの扱い方はKernel.#loadでも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
requi... -
Kernel
. # block _ given? -> bool (18307.0) -
メソッドにブロックが与えられていれば真を返します。
メソッドにブロックが与えられていれば真を返します。
このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、
メソッド内部以外で使っても単に false を返します。
iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないの
で block_given? を使ってください。
//emlist[例][ruby]{
def check
if block_given?
puts "Block is given."
else
puts "Block isn't given."
end
end
check{} #=... -
Kernel
. # eval(expr) -> object (18307.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send... -
Kernel
. # global _ variables -> [Symbol] (18307.0) -
プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。
...グラム中で定義されているグローバル変数(`$'で始まる変数)名の
配列を返します。
//emlist[例][ruby]{
p global_variables #=> [:$;, :$-F, :$@, ... ]
//}
@see Kernel.#local_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables... -
Kernel
. # local _ variables -> [Symbol] (18307.0) -
現在のスコープで定義されているローカル変数名の配列を返します。
...現在のスコープで定義されているローカル変数名の配列を返します。
//emlist[例][ruby]{
yuyu = 0
p local_variables #=> [:yuyu]
//}
@see Kernel.#global_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables... -
Kernel
. # iterator? -> bool (9007.0) -
メソッドにブロックが与えられていれば真を返します。
メソッドにブロックが与えられていれば真を返します。
このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、
メソッド内部以外で使っても単に false を返します。
iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないの
で block_given? を使ってください。
//emlist[例][ruby]{
def check
if block_given?
puts "Block is given."
else
puts "Block isn't given."
end
end
check{} #=... -
Kernel
. # exec(env , command , options={}) -> () (307.0) -
引数で指定されたコマンドを実行します。
引数で指定されたコマンドを実行します。
プロセスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options... -
Kernel
. # exec(env , program , *args , options={}) -> () (307.0) -
引数で指定されたコマンドを実行します。
...イルデスクリプタなど)引き継ぎます。
Hash を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも
そ......替えて以下を実行
$ ps aux|grep sleep
xxxx 32754 0.0 0.0 2580 468 pts/3 S+ 22:01 0:00 mysleep 600
xxxx 32761 0.0 0.0 2824 792 pts/6 S+ 22:01 0:00 grep sleep
@see Kernel.#system,Kernel.#`,Kernel.#spawn,Kernel.#fork,IO.popen,IO.pipe,Kernel.#open,exec(3)... -
Kernel
. # load(file , priv = false) -> true (307.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
...。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load の違い
Kernel.#require は同じファイルは一度だけしかロードしませんが、
Kernel.#load は無条件にロードします。
また、require は拡張子.rb や... -
Kernel
. # spawn(env , command , options={}) -> Integer (307.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
@raise Errno::EXXX コマンドが実行できなかった場合に発生します。
@see Kernel.#system,Kernel.#exec... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (307.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...列を指定します。
@param options オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
@raise Errno::EXXX コマンドが実行できなかった場合に発生します。
@see Kernel.#system,Kernel.#exec... -
Kernel
. # system(env , command , options={}) -> bool | nil (307.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
//emlist[シェル経由でコマンドを実行][ruby]{
system("echo *") # => true
# fileA fileB fileC ...
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (307.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...umask
* 子プロセスでのリダイレクト
などを変更できます。環境変数のクリアなども指定できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも......s オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
//emlist[インタプリタから直接コマンドを実行][ruby]{
system("echo", "*") # => true
# *
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # throw(tag , value = nil) -> () (307.0) -
Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。
...
Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。
throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限......いる catch が存在しない場合に発生します。
//emlist[例][ruby]{
def foo
throw :exit, 25
end
ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
ensure
puts "ensure"
end
end
puts ret
#=> ensure
# 25
//}
@see Kernel.#catch... -
Kernel
. # `(command) -> String (25.0) -
command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。
...タスを得るには、$? を参照します。
コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。
d:spec/literal#command......Errno::EXXX コマンドを実行できないときや失敗した場合に発生します。
//emlist[例][ruby]{
puts `ruby -v` #=> ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
puts $?.inspect #=> #<Process::Status: pid=3580,exited(0)>
//}
@see Kernel.#system,Kernel.#exec,Kernel.#spawn...