るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.123秒)
トップページ > クエリ:r[x] > クエリ:eval[x] > バージョン:2.3.0[x]

別のキーワード

  1. _builtin to_r
  2. open3 pipeline_r
  3. matrix elements_to_r
  4. fileutils rm_r
  5. fileutils cp_r

キーワード

検索結果

static VALUE eval(VALUE self, VALUE src, VALUE scope, char *file, int line) (114649.0)

eval の実体。文字列 src を評価します。 そのとき第三引数 scope が nil でなければ そのコンテキストの元で評価します。

eval の実体。文字列 src を評価します。
そのとき第三引数 scope が nil でなければ
そのコンテキストの元で評価します。

また src をコンパイルするとき、
ファイル file の line 行目に配置されていると仮定します。

VALUE rb_eval_string_wrap(const char *str, int *state) (96649.0)

rb_eval_string_protect と同じですが,スクリプトの評価を 無名のモジュールのもとで行います。

rb_eval_string_protect と同じですが,スクリプトの評価を
無名のモジュールのもとで行います。

VALUE rb_mod_module_eval(int argc, VALUE *argv, VALUE mod) (96649.0)

Module#module_eval の実体です。

Module#module_eval の実体です。

void ruby_run(void) (96649.0)

ruby_eval_tree の評価を開始します。

ruby_eval_tree の評価を開始します。

VALUE rb_eval_cmd(VALUE cmd, VALUE arg, int tcheck) (96601.0)

絞り込み条件を変える

VALUE rb_eval_string(const char *str) (96601.0)

str を Ruby プログラムとしてコンパイル・評価し、 その値を返します。

str を Ruby プログラムとしてコンパイル・評価し、
その値を返します。

VALUE rb_eval_string_protect(const char *str, int *state) (96601.0)

str を Ruby プログラムとしてコンパイル・評価し、 その値を返します。

str を Ruby プログラムとしてコンパイル・評価し、
その値を返します。

コンパイル中または評価中に例外を含む大域脱出が発生した場合は、
state が NULL でなければそれに値が代入され Qnil を返します。

VALUE rb_obj_instance_eval(int argc, VALUE *argv, VALUE self) (96601.0)

static VALUE rb_eval(VALUE self, NODE *n) (96601.0)

構文木 n を self = self のもとで評価します。

構文木 n を self = self のもとで評価します。

static VALUE rb_f_eval(int argc, VALUE *argv, VALUE self) (96601.0)

絞り込み条件を変える

static VALUE rb_trap_eval(VALUE cmd, int sig) (96601.0)

static void rb_trace_eval(VALUE cmd, VALUE val) (96601.0)

void rb_thread_trap_eval(VALUE cmd, int sig) (96601.0)

void rb_thread_wait_for(struct timeval time) (78601.0)

time の長さの時間が経過するまでカレントスレッドを停止します。

time の長さの時間が経過するまでカレントスレッドを停止します。

NODE * rb_compile_cstr(const char *f, const char *s, int len, int line) (78445.0)

C の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。

C の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。

絞り込み条件を変える

NODE * rb_compile_file(const char *f, VALUE file, int start) (78445.0)

Ruby の IO オブジェクト file から文字列を読み込み、 それを Ruby プログラムとして構文木にコンパイルします。 作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に 格納し、同時に ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。

Ruby の IO オブジェクト file から文字列を読み込み、
それを Ruby プログラムとして構文木にコンパイルします。
作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に
格納し、同時に ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。

NODE * rb_compile_string(const char *f, VALUE s, int line) (78445.0)

Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。

Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。

void rb_parser_append_print(void) (78349.0)

ruby の -p オプションの実装。 ループと print のノードを ruby_eval_tree に加えます。

ruby の -p オプションの実装。
ループと print のノードを ruby_eval_tree に加えます。

void rb_parser_while_loop(int chop, int split) (78349.0)

ruby の -n オプションの実装。 ループと print のノードを ruby_eval_tree に加えます。

ruby の -n オプションの実装。
ループと print のノードを ruby_eval_tree に加えます。

void rb_jump_tag(int tag) (78319.0)

初出: 4064

初出: 4064

rb_load_protect,rb_eval_string_protect,rb_protect
などで捕捉した大域脱出を再生成します。

tagには上記関数の引数で受け取ったstateを指定します。

絞り込み条件を変える

RubyVM::InstructionSequence#eval -> object (72322.0)

self の命令シーケンスを評価してその結果を返します。

self の命令シーケンスを評価してその結果を返します。

RubyVM::InstructionSequence.compile("1 + 2").eval # => 3

Kernel.#eval(expr, bind, fname = "(eval)", lineno = 1) -> object (64072.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。

expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。

fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。

bind によ...

Kernel.#eval(expr) -> object (63772.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。

expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。

fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。

bind によ...

Binding#eval(expr, fname = __FILE__, lineno = 1) -> object (54754.0)

自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。

自身をコンテキストとし文字列 expr を
Ruby プログラムとして評価しその結果を返します。
組み込み関数 Kernel.#eval を使って
eval(expr, self, fname, lineno) とするのと同じです。

@param expr 評価したい式を文字列で与えます。

@param fname ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。

@param lineno 行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。

//emlist[例][rub...

Kernel.#require_relative(relative_feature) -> bool (37519.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 のスコープ

ローカル変数...

絞り込み条件を変える

IRB::Context#eval_history=(val) (36640.0)

実行結果の履歴の最大保存件数を val に設定します。

実行結果の履歴の最大保存件数を val に設定します。

.irbrc ファイル中で IRB.conf[:EVAL_HISTORY] を設定する事でも同様の事が
行えます。

@param val 実行結果の履歴の最大保存件数を Integer か nil で指定し
ます。0 を指定した場合は無制限に履歴を保存します。現在の値よ
りも小さい値を指定した場合は履歴がその件数に縮小されます。
nil を指定した場合は履歴の追加がこれ以上行われなくなります。

@see IRB::Context#eval_history

IRB::Context#eval_history -> Integer | nil (36622.0)

実行結果の履歴の最大保存件数を Integer か nil で返します。

実行結果の履歴の最大保存件数を Integer か nil で返します。

@return 履歴の最大保存件数を Integer か nil で返します。0 を返し
た場合は無制限に保存します。nil を返した場合は追加の保存は行いません。

@see IRB::Context#eval_history=

Win32::Registry::API::RegDeleteValue (36601.0)

@todo

@todo

static VALUE eval_under(VALUE under, VALUE self, VALUE src, const char *file, int line) (36601.0)

static VALUE eval_under_i(VALUE *args) (36601.0)

絞り込み条件を変える

RSS::NotAvailableValueError (36001.0)

RubyVM::InstructionSequence.load_from_binary(binary) -> RubyVM::InstructionSequence (27319.0)

RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。

RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。

このローダーは検証機構をもっておらず、壊れたり改変されたバイナリを読み込むと深刻な問題を引き起こします。

他者により提供されたバイナリデータはロードすべきではありません。自分が変換したバイナリデータを使うべきです。

//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary
RubyVM:...

IRB::Context#evaluate(line, line_no) -> object (27301.0)

ライブラリ内部で使用します。

ライブラリ内部で使用します。

BasicObject#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (19144.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。

ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場...

Module#class_eval(expr, fname = "(eval)", lineno = 1) -> object (19045.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

定数とクラス変数のスコープは、文字列が与えられた場合とブロックが与えられた場合で挙動が異なります。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープ...

絞り込み条件を変える

Module#module_eval(expr, fname = "(eval)", lineno = 1) -> object (19045.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

定数とクラス変数のスコープは、文字列が与えられた場合とブロックが与えられた場合で挙動が異なります。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープ...

static VALUE specific_eval(int argc, VALUE *argv, VALUE klass, VALUE self) (18997.0)

rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。

rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。

Proc#source_location -> [String, Integer] | nil (18337.0)

ソースコードのファイル名と行番号を配列で返します。

ソースコードのファイル名と行番号を配列で返します。

その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。


//emlist[例][ruby]{
# /path/to/target.rb を実行
proc {}.source_location # => ["/path/to/target.rb", 1]
proc {}.source_location # => ["/path/to/target.rb", 2]
(eval "proc {}").source_location # => ...

Binding#local_variable_defined?(symbol) -> bool (18319.0)

引数 symbol で指定した名前のローカル変数が定義されている場合に true を、 そうでない場合に false を返します。

引数 symbol で指定した名前のローカル変数が定義されている場合に true を、
そうでない場合に false を返します。

@param symbol ローカル変数名を Symbol オブジェクトで指定します。

//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_defined?(:a) # => true
binding.local_variable_defined?(:b) # => false
end
//}

このメソッドは以下のコードの短縮形です。

//emlist[][ruby]{
bindin...

Binding#local_variable_get(symbol) -> object (18319.0)

引数 symbol で指定した名前のローカル変数に設定された値を返します。

引数 symbol で指定した名前のローカル変数に設定された値を返します。

@param symbol ローカル変数名を Symbol オブジェクトで指定します。

@raise NameError 引数 symbol で指定したローカル変数が未定義の場合に発生します。

//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_get(:a) # => 1
binding.local_variable_get(:b) # => NameError
end
//}

このメソッドは以下のコードの短縮形です。

//emlis...

絞り込み条件を変える

Binding#local_variable_set(symbol, obj) (18319.0)

引数 symbol で指定した名前のローカル変数に引数 obj を設定します。

引数 symbol で指定した名前のローカル変数に引数 obj を設定します。

@param symbol ローカル変数名を Symbol オブジェクトで指定します。

@param obj 引数 symbol で指定したローカル変数に設定するオブジェクトを指定します。

//emlist[例][ruby]{
def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # set existing local variable `a'
bind.local_variable_set(:b, 3) # create ...

Binding#local_variables -> [Symbol] (18319.0)

ローカル変数の一覧を Symbol の配列で返します。

ローカル変数の一覧を Symbol の配列で返します。

//emlist[例][ruby]{
def foo
a = 1
2.times do |n|
binding.local_variables #=> [:a, :n]
end
end
//}

このメソッドは以下のコードと同様の動作をします。

//emlist[][ruby]{
binding.eval("local_variables")
//}

Binding#receiver -> object (18319.0)

保持するコンテキスト内での self を返します。

保持するコンテキスト内での self を返します。

このメソッドは以下のコードと同様の動作をします。

//emlist[][ruby]{
binding.eval("self")
//}

Object#instance_variables -> [Symbol] (18319.0)

オブジェクトのインスタンス変数名をシンボルの配列として返します。

オブジェクトのインスタンス変数名をシンボルの配列として返します。

//emlist[][ruby]{
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables

#=> [:@foo, :@bar]
//}

@see Object#instance_variable_get, Kernel.#local_variables, Kernel.#global_variables, Module.constants, Module#constants, Module#class_variabl...

Object#respond_to?(name, include_all = false) -> bool (18319.0)

オブジェクトがメソッド name を持つとき真を返します。

オブジェクトがメソッド name を持つとき真を返します。

オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。

Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。

※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Rubyで実装されたメソッドで N...

絞り込み条件を変える

Object::SCRIPT_LINES__ -> Hash (18319.0)

ソースファイル別にまとめられたソースコードの各行。

ソースファイル別にまとめられたソースコードの各行。

この定数は、デフォルトでは定義されていません。
この定数がハッシュとして定義された後にソースがコンパイルされると、
そのソースファイル名をキーに、
ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。

この定数はデバッガ (debug) などで利用されています。

また、 Kernel.#eval によるコンパイルは対象にはなりません。


例:
require 'pp'
SCRIPT_LINES__ = {}
require 'English'
pp SCRIPT_LINES__

...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (18319.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#define_finalizer(obj, proc) -> Array (18319.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

RubyVM::InstructionSequence#to_a -> Array (18319.0)

self の情報を 14 要素の配列にして返します。

self の情報を 14 要素の配列にして返します。

命令シーケンスを以下の情報で表します。

: magic

データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。

: major_version

命令シーケンスのメジャーバージョン。

: minor_version

命令シーケンスのマイナーバージョン。

: format_type

データフォーマットを示す数値。常に 1。

: misc

以下の要素から構成される Hash オブジェクト。

:arg_size: メソッド、ブ...

WIN32OLE_TYPE#default_event_sources -> [WIN32OLE_TYPE] (18319.0)

型が持つソースインターフェイスを取得します。

型が持つソースインターフェイスを取得します。

default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるインターフェイス)を返します。

@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソースインターフェイスを持
たない場合は空配列を返します。

tobj = ...

絞り込み条件を変える

Win32::Registry::API.#DeleteValue(hkey, name) (18301.0)

@todo

@todo

Ruby プログラムの実行 (18235.0)

Ruby プログラムの実行 === Ruby プログラム

Ruby プログラムの実行
=== Ruby プログラム

Ruby プログラムの実行は文の連なりの評価です。なんらかの形であたえられたプログラムテキストをコンパイルし、BEGIN 文があればそれを評価し、トップレベルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。

=== 文

==== if

if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価します。
偽ならば elsif 節の条件式を順番に評価し、その値が始めて真になった節の
本体を評価します。それらがすべて偽なら...

irb (18181.0)

irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。

irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。

=== irb の使い方

Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。

$ irb
irb(main):001:0>

あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。

irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f...

drb (18091.0)

分散オブジェクトプログラミングのためのライブラリです。

分散オブジェクトプログラミングのためのライブラリです。

Ruby のプロセスから他のRubyプロセスにあるオブジェクトのメソッド
を呼びだすことができます。他のマシン上のプロセスにも
アクセスできます。

=== 概要
dRuby は Ruby 専用の分散オブジェクトシステムです。
Ruby のみで記述され、TCP socket のような Ruby 本体が提供する
通信手段があれば追加のインストール物なしに利用可能です。
独自のプロトコルで通信し、他の分散オブジェクトシステム
(CORBA, RMI, .NETなど)との相互運用性はありません。

dRuby は
* 他のプロセスと Ru...

Marshal フォーマット (18055.0)

Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。

Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。

=== nil, true, false

それぞれ、'0', 'T', 'F' になります。

//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}

Ruby 2.1 以前では、インスタンス変数を設定しても dump されません...

絞り込み条件を変える

irb/completion (18055.0)

irb の completion 機能を提供するライブラリです。

irb の completion 機能を提供するライブラリです。

=== 使い方

$ irb -r irb/completion

とするか, ~/.irbrc 中に

require "irb/completion"

を入れてください.
irb実行中に require "irb/completion" してもよいです.

irb 実行中に [Tab] を押すとコンプレーションします.

トップレベルで [Tab] を押すとすべての構文要素, クラス,
メソッドの候補がでます. 候補が唯一ならば完全に補完します.

irb(main):001:0> in
in...

irb/ext/history (18037.0)

IRB::Context に実行結果の履歴を保持する機能を提供するサブライブラ リです。

IRB::Context に実行結果の履歴を保持する機能を提供するサブライブラ
リです。

conf.eval_history か IRB.conf[:EVAL_HISTORY] に Integer を設定す
る事で使用できます。

このライブラリで定義されているメソッドはユーザが直接使用するものではあ
りません。

String#dump -> String (9385.0)

文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。

文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。
str == eval(str.dump) となることが保証されています。

//emlist[例][ruby]{
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\x00\b10\\\""
//}

ruby 1.8.4 feature (9307.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...

ruby 1.6 feature (9253.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

絞り込み条件を変える

NEWS for Ruby 2.1.0 (9217.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.0.0 以降の変更

=== 言語仕様の変更

* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。

* 整数や小数のリテラルの末尾に'r','i','...

リテラル (9127.0)

リテラル * num * string * backslash * exp * char * command * here * regexp * array * hash * range * symbol * percent

リテラル
* num
* string
* backslash
* exp
* char
* command
* here
* regexp
* array
* hash
* range
* symbol
* percent

数字の1や文字列"hello world"のようにRubyのプログラムの中に直接
記述できる値の事をリテラルといいます。

===[a:num] 数値リテラル

: 123
: 0d123

整数

: -123

符号つき整数

: 123.45

浮動小数点数。
.1 など "." で始まる浮動小...

ruby 1.8.2 feature (9091.0)

ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。

ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/...

Kernel.#binding -> Binding (9085.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

ruby 1.9 feature (9073.0)

ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ...

絞り込み条件を変える

パターンマッチ (9037.0)

パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples

パターンマッチ
* patterns
* variable_binding
* variable_pinning
* matching_non_primitive_objects
* guard_clauses
* current_feature_status
* pattern_syntax
* some_undefined_behavior_examples

パターンマッチは、構造化された値に対して、構造をチェックし、マッチした部分をローカル変数に束縛するという、深いマッチを可能にする実験的な機能です。(『束縛』は、パターンマッチの輸入元である関数型言語...

IRB::ContextExtender.install_extend_commands -> object (9019.0)

定義済みの拡張を読み込みます。

定義済みの拡張を読み込みます。

IRB::Context で以下のメソッドが利用できるようになります。

* eval_history=
* use_tracer=
* math_mode=
* use_loader=
* save_history=

irb/extend-command が require された時にライブラリ内部で自動的
に実行されます。

@see IRB::ContextExtender.def_extend_command

NEWS for Ruby 2.0.0 (9019.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...

Proc#binding -> Binding (9019.0)

Proc オブジェクトが保持するコンテキストを Binding オブジェクトで返します。

Proc オブジェクトが保持するコンテキストを
Binding オブジェクトで返します。

//emlist[例][ruby]{
def fred(param)
proc {}
end

sample_proc = fred(99)
eval("param", sample_proc.binding) # => 99
//}

TracePoint#self -> object (9019.0)

イベントを発生させたオブジェクトを返します。

イベントを発生させたオブジェクトを返します。

以下のようにする事で同じ値を取得できます。


//emlist[例][ruby]{
trace.binding.eval('self')
//}

@see TracePoint#binding

絞り込み条件を変える

オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (9019.0)

オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル * Ruby オフィシャルサイト https://www.ruby-lang.org/ja/ * version 2.3 対応リファレンス * 原著:まつもとゆきひろ * 最新版URL: https://www.ruby-lang.org/ja/documentation/

オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル
* Ruby オフィシャルサイト https://www.ruby-lang.org/ja/
* version 2.3 対応リファレンス
* 原著:まつもとゆきひろ
* 最新版URL: https://www.ruby-lang.org/ja/documentation/

=== 使用上の注意

組込みクラスのリファレンスはほぼ揃っています。
標準添付ライブラリのリファレンスは一部未完成です。
それ以外のドキュメントについては、まだまだ書き直しが必要です。

=== 目次

* spec/intro
* spe...

プログラム・文・式 (9019.0)

プログラム・文・式 * exp * terminate

プログラム・文・式
* exp
* terminate

プログラムはexpを並べたものです。式と式の間はセミコロ
ン(;)または改行で区切ります。ただし、バックスラッシュに続く改行は文
の区切りにならず、次の行へ継続します。

例:

print "hello world!\n"


===[a:exp] 式

例:

true
(1+2)*3
foo()
if test then ok else ng end

Ruby の式には、spec/variables、さまざまなspec/literal...

1.6.8から1.8.0への変更点(まとめ) (2377.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

FileUtils.#copy(src, dest, options = {}) -> () (337.0)

ファイル src を dest にコピーします。

ファイル src を dest にコピーします。

src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。

src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。

@param src コピ...

FileUtils.#cp(src, dest, options = {}) -> () (337.0)

ファイル src を dest にコピーします。

ファイル src を dest にコピーします。

src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。

src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。

@param src コピ...

絞り込み条件を変える

Module#class_exec(*args) {|*vars| ... } -> object (337.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。

@param args ブロックに渡す引数を指定します。


//emlist[例][ruby]{
class Thing
end
c = 1

Thing.class_exec{
def hello()
"Hello there!"
...

Module#module_exec(*args) {|*vars| ... } -> object (337.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。

@param args ブロックに渡す引数を指定します。


//emlist[例][ruby]{
class Thing
end
c = 1

Thing.class_exec{
def hello()
"Hello there!"
...

Object#send(name, *args) -> object (337.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

オブジェクトのメソッド name を args を引数に
して呼び出し、メソッドの実行結果を返します。

ブロック付きで呼ばれたときはブロックもそのまま引き渡します。

send が再定義された場合に備えて別名 __send__ も
用意されており、ライブラリではこちらを使うべきです。また
__send__ は再定義すべきではありません。

send, __send__ は、メソッドの呼び出し制限
にかかわらず任意のメソッドを呼び出せます。
d:spec/def#limit も参照してください。

public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う...

Object#send(name, *args) { .... } -> object (337.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

オブジェクトのメソッド name を args を引数に
して呼び出し、メソッドの実行結果を返します。

ブロック付きで呼ばれたときはブロックもそのまま引き渡します。

send が再定義された場合に備えて別名 __send__ も
用意されており、ライブラリではこちらを使うべきです。また
__send__ は再定義すべきではありません。

send, __send__ は、メソッドの呼び出し制限
にかかわらず任意のメソッドを呼び出せます。
d:spec/def#limit も参照してください。

public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う...

BasicObject#instance_exec(*args) {|*vars| ... } -> object (319.0)

与えられたブロックをレシーバのコンテキストで実行します。

与えられたブロックをレシーバのコンテキストで実行します。

ブロック実行中は、 self がレシーバのコンテキストになるので
レシーバの持つインスタンス変数にアクセスすることができます。

@param args ブロックパラメータに渡す値です。

//emlist[例][ruby]{
class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 10...

絞り込み条件を変える

Class.new(superclass = Object) -> Class (319.0)

新しく名前の付いていない superclass のサブクラスを生成します。

新しく名前の付いていない superclass のサブクラスを生成します。

名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。

//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは...

Class.new(superclass = Object) {|klass| ... } -> Class (319.0)

新しく名前の付いていない superclass のサブクラスを生成します。

新しく名前の付いていない superclass のサブクラスを生成します。

名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。

//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは...

クラス/メソッドの定義 (103.0)

クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined

クラス/メソッドの定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined

===[a:class] クラス定義

//emlist[例][ruby]{
class Foo < S...

セキュリティモデル (37.0)

セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。

セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。

Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってなりたっています。

=== オブジェクトの汚染

Rubyではオブジェクトは「汚染されている」とみなされることがあります。この
しくみは大きく分けて二つの使われ方をします。

ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい
る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意
あるデータによって、プログラムが意図しない動作をする事...