種類
- インスタンスメソッド (92)
- 定数 (20)
- 特異メソッド (2)
ライブラリ
- ビルトイン (90)
-
minitest
/ spec (16) - pp (5)
- psych (3)
キーワード
- !~ (1)
- <=> (1)
- == (1)
- === (1)
- =~ (1)
- ARGF (1)
- ARGV (1)
- DATA (1)
- ENV (1)
- FALSE (1)
- NIL (1)
-
RUBY
_ COPYRIGHT (1) -
RUBY
_ DESCRIPTION (1) -
RUBY
_ ENGINE (1) -
RUBY
_ PATCHLEVEL (1) -
RUBY
_ PLATFORM (1) -
RUBY
_ RELEASE _ DATE (1) -
RUBY
_ REVISION (1) -
RUBY
_ VERSION (1) -
SCRIPT
_ LINES _ _ (1) - STDERR (1)
- STDIN (1)
- STDOUT (1)
-
TOPLEVEL
_ BINDING (1) - TRUE (1)
-
_ dump (1) - class (1)
- clone (1)
-
define
_ singleton _ method (2) - display (1)
- dup (1)
-
enum
_ for (2) - eql? (1)
- equal? (1)
- extend (1)
- freeze (1)
- frozen? (1)
- hash (1)
- initialize (1)
-
initialize
_ copy (1) - inspect (1)
-
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) -
instance
_ variable _ set (1) -
instance
_ variables (1) -
is
_ a? (1) - itself (1)
-
kind
_ of? (1) -
marshal
_ dump (1) -
marshal
_ load (1) - method (1)
- methods (1)
-
must
_ be (1) -
must
_ be _ close _ to (1) -
must
_ be _ empty (1) -
must
_ be _ instance _ of (1) -
must
_ be _ kind _ of (1) -
must
_ be _ nil (1) -
must
_ be _ same _ as (1) -
must
_ be _ within _ delta (1) -
must
_ be _ within _ epsilon (1) -
must
_ equal (1) -
must
_ include (1) -
must
_ match (1) -
must
_ raise (1) -
must
_ respond _ to (1) -
must
_ send (1) -
must
_ throw (1) - new (1)
- nil? (1)
-
object
_ id (1) -
pretty
_ inspect (1) -
pretty
_ print (1) -
pretty
_ print _ cycle (1) -
pretty
_ print _ inspect (1) -
pretty
_ print _ instance _ variables (1) -
private
_ methods (1) -
protected
_ methods (1) -
psych
_ to _ yaml (1) -
public
_ method (1) -
public
_ methods (1) -
public
_ send (2) -
remove
_ instance _ variable (1) -
respond
_ to? (1) -
respond
_ to _ missing? (1) - send (2)
-
singleton
_ class (1) -
singleton
_ method (1) -
singleton
_ methods (1) - taint (1)
- tainted? (1)
- tap (1)
-
to
_ a (1) -
to
_ ary (1) -
to
_ enum (2) -
to
_ hash (1) -
to
_ int (1) -
to
_ io (1) -
to
_ proc (1) -
to
_ regexp (1) -
to
_ s (1) -
to
_ str (1) -
to
_ yaml (1) - trust (1)
- untaint (1)
- untrust (1)
- untrusted? (1)
-
yaml
_ tag (1)
検索結果
先頭5件
-
Object
# !~(other) -> bool (4.0) -
自身が other とマッチしない事を判定します。
自身が other とマッチしない事を判定します。
self#=~(obj) を反転した結果と同じ結果を返します。
@param other 判定するオブジェクトを指定します。
//emlist[例][ruby]{
obj = 'regexp'
p (obj !~ /re/) # => false
obj = nil
p (obj !~ /re/) # => true
//} -
Object
# <=>(other) -> 0 | nil (4.0) -
self === other である場合に 0 を返します。そうでない場合には nil を返します。
...self === other である場合に 0 を返します。そうでない場合には nil を返します。
//emlist[例][ruby]{
a = Object.new
b = Object.new
a <=> a # => 0
a <=> b # => nil
//}
@see Object#===... -
Object
# ==(other) -> bool (4.0) -
オブジェクトと other が等しければ真を返します。
...ォルトでは equal? と同じオブジェクト
の同一性判定になっています。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
p("foo" == "bar") #=> false
p("foo" == "foo") #=> true
p(4 == 4) #=> true
p(4 == 4.0) #=> true
//}
@see Object#equal?,Object#eql?... -
Object
# ===(other) -> bool (4.0) -
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
...ドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。
デフォルトでは内部で Object#== を呼び出します。
when 節の式をレシーバーとして === を呼び出すことに注意してください。
また Enumerable......String class. But don't hit."
else
"unknown"
end
end
puts check([]) #=> unknown
puts check("mash-up in Ruby on Rails") #=> instance of String class. But not hit...
puts check("<Ruby's world>") #=> hit! <Ruby's world>
//}
@see Object#==, Range#===, Module#===, Regexp#===, Enumerable#grep... -
Object
# =~(other) -> nil (4.0) -
右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/ をサポートするためのメソッドです。常に nil を返します。
右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/
をサポートするためのメソッドです。常に nil を返します。
このメソッドは Ruby 2.6 から deprecated です。
この定義により、=~ が再定義されたオブジェクトでは正常にマッチを行い、
それ以外のものは nil を返すようになります。
@param other 任意のオブジェクトです。結果に影響しません。
//emlist[例][ruby]{
obj = 'regexp'
p(obj =~ /re/) #=> 0
obj = nil
p(obj =~ /re/) #=> nil
//}
... -
Object
# _ dump(limit) -> String (4.0) -
Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。
...ッド _dump
を定義している場合には、そのメソッドの結果が書き出されます。
バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
メソッ......い場合や拡張ライブラリで定義し
たクラスのインスタンスがインスタンス変数以外に情報を保持する場合に
利用します。(例えば、クラス Time は、_dump/_load を定義して
います)
@see Object#marshal_dump, Object#marshal_load, Class#_load... -
Object
# class -> Class (4.0) -
レシーバのクラスを返します。
...レシーバのクラスを返します。
//emlist[][ruby]{
p "ruby".class #=> String
p 100.class #=> Integer
p ARGV.class #=> Array
p self.class #=> Object
p Class.class #=> Class
p Kernel.class #=> Module
//}
@see Class#superclass,Object#kind_of?,Object#instance_of?... -
Object
# clone(freeze: true) -> object (4.0) -
オブジェクトの複製を作成して返します。
..._d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブジェクト自身を複製するだけで、オブジェクトの... -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (4.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (4.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# display(out = $ stdout) -> nil (4.0) -
オブジェクトを out に出力します。
...][ruby]{
class Object
def display(out = $stdout)
out.write self
nil
end
end
//}
@param out 出力先のIOオブジェクトです。指定しない場合は標準出力に出力されます。
@return nil を返します。
//emlist[][ruby]{
Object.new.display #=> #<Object:0xbb0210>
//... -
Object
# dup -> object (4.0) -
オブジェクトの複製を作成して返します。
..._d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブジェクト自身を複製するだけで、オブジェクトの... -
Object
# enum _ for(method = :each , *args) -> Enumerator (4.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# enum _ for(method = :each , *args) {|*args| . . . } -> Enumerator (4.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# eql?(other) -> bool (4.0) -
オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。
... Object#hash メソッ
ドも再定義しなければなりません。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
p("foo".eql?("bar")) #=> false
p("foo".eql?("foo")) #=> true
p(4.eql?(4)) #=> true
p(4.eql?(4.0)) #=> false
//}
@see Object#hash,Object#equal?,Object#==... -
Object
# equal?(other) -> bool (4.0) -
other が self 自身の時、真を返します。
...Object#object_idが一致する
かどうかを調べます。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
p("foo".equal?("bar")) #=> false
p("foo".equal?("foo")) #=> false
p(4.equal?(4)) #=> true
p(4.equal?(4.0)) #=> false
p(:foo.equal? :foo) #=> true
//}
@see Object......#object_id,Object#==,Object#eql?,Symbol... -
Object
# extend(*modules) -> self (4.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
...。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
end
end
module Bar
def b
'ok Bar'
end
end
obj = Object.new
obj.extend Foo, Bar
p obj.a #=> "ok Foo"
p obj.b #=> "ok Bar"
class Klass
include Foo
extend Bar
end
p Klass.new.a #=> "ok Foo"
p Klass.......ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。
//emlist[][ruby]{
# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end
//}
@see Module#extend_object,Module#include,Module#extended... -
Object
# freeze -> self (4.0) -
オブジェクトを凍結(内容の変更を禁止)します。
...#=> "bar"
a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freez......e
p a.frozen? #=> true
a[0] = "foo"
p a # can't modify frozen Array (RuntimeError)
b = a.dup
p b #=> [1]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
//}
@see Object#frozen?,Object#dup,Kernel.#trace_var... -
Object
# frozen? -> bool (4.0) -
オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。
...オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。
//emlist[][ruby]{
obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true
//}
@see Object#freeze... -
Object
# hash -> Integer (4.0) -
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
...オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
2つのオブジェクトのハッシュ値が異なるとき、直ち......として判定されます。
逆に、2つのハッシュ値が同じとき、さらに Object#eql? での比較により判定されます。
そのため、同じキーとして判定される状況は Object#eql? の比較で真となる場合のみであり、このとき前段階としてハ......6494
p 0.hash #=> 2647535320520409998
p 0.0.hash #=> -2975129765814025835
p nil.hash #=> 2401531420355998067
p "ruby".hash #=> 4460896024486900438
p "ruby".hash #=> 4460896024486900438
p :ruby.hash #=> 3979895509189707770
p :ruby.hash #=> 3979895509189707770
//}
@see Object#eql?, Hash#[]... -
Object
# initialize(*args , &block) -> object (4.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
ユーザ定義クラスのオブジェクト初期化メソッド。
このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。
initialize には
Class#new に与えられた引数がそのまま渡されます。
サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。
initialize という名前のメソッドは自動的に private に設定され
ます。
@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必... -
Object
# initialize _ copy(obj) -> object (4.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
...は self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに......alize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。
デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。
initialize_copy と......Error レシーバが freeze されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup
以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。
obj.dup は、... -
Object
# inspect -> String (4.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
組み込み関数 Kernel.#p は、このメソッドの結果を使用して
オブジェクトを表示します。
//emlist[][ruby]{
[ 1, 2, 3..4, 'five' ].inspect # => "[1, 2, 3..4, \"five\"]"
Time.new.inspect # => "2008-03-08 19:43:39 +0900"
//}
inspect メソッドをオーバーライドしなかった場合、クラス名とインスタンス
変数の名前、値の組を元にした文字列を返します。
//... -
Object
# instance _ of?(klass) -> bool (4.0) -
オブジェクトがクラス klass の直接のインスタンスである時真を返します。
...常に obj.kind_of?(c) も成立します。
@param klass Classかそのサブクラスのインスタンスです。
//emlist[][ruby]{
class C < Object
end
class S < C
end
obj = S.new
p obj.instance_of?(S) # true
p obj.instance_of?(C) # false
//}
@see Object#kind_of?,Object#class... -
Object
# instance _ variable _ defined?(var) -> bool (4.0) -
インスタンス変数 var が定義されていたら真を返します。
..., @b = p1, p2
end
end
fred = Fred.new('cat', 99)
p fred.instance_variable_defined?(:@a) #=> true
p fred.instance_variable_defined?("@b") #=> true
p fred.instance_variable_defined?("@c") #=> false
//}
@see Object#instance_variable_get,Object#instance_variable_set,Object#instance_variables... -
Object
# instance _ variable _ get(var) -> object | nil (4.0) -
オブジェクトのインスタンス変数の値を取得して返します。
...Foo
def initialize
@foo = 1
end
end
obj = Foo.new
p obj.instance_variable_get("@foo") #=> 1
p obj.instance_variable_get(:@foo) #=> 1
p obj.instance_variable_get(:@bar) #=> nil
//}
@see Object#instance_variable_set,Object#instance_variables,Object#instance_variable_defined?... -
Object
# instance _ variable _ set(var , value) -> object (4.0) -
オブジェクトのインスタンス変数 var に値 value を設定します。
...value を返します。
//emlist[][ruby]{
obj = Object.new
p obj.instance_variable_set("@foo", 1) #=> 1
p obj.instance_variable_set(:@foo, 2) #=> 2
p obj.instance_variable_get(:@foo) #=> 2
//}
@see Object#instance_variable_get,Object#instance_variables,Object#instance_variable_defined?... -
Object
# instance _ variables -> [Symbol] (4.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, M... -
Object
# is _ a?(mod) -> bool (4.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...ードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に fa......です。
//emlist[][ruby]{
module M
end
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}
@see Object#instance_of?,Module#===,Object#class... -
Object
# itself -> object (4.0) -
self を返します。
...self を返します。
//emlist[][ruby]{
string = 'my string' # => "my string"
string.itself.object_id == string.object_id # => true
//}... -
Object
# kind _ of?(mod) -> bool (4.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...ードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に fa......です。
//emlist[][ruby]{
module M
end
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}
@see Object#instance_of?,Module#===,Object#class... -
Object
# marshal _ dump -> object (4.0) -
Marshal.#dump を制御するメソッドです。
...定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal_dump/marshal_load によりそれを実現する余地があるということです)。
@see Object#marshal_load, Marshal... -
Object
# marshal _ load(obj) -> object (4.0) -
Marshal.#load を制御するメソッドです。
...Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@param obj marshal_dump の返り値のコピーです。
@return 返り値は無視されます。
@see Object#marshal_dump, Marshal... -
Object
# method(name) -> Method (4.0) -
オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。
...ror 定義されていないメソッド名を引数として与えると発生します。
//emlist[][ruby]{
me = -365.method(:abs)
p me #=> #<Method: Integer#abs>
p me.call #=> 365
//}
@see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#singleton_method... -
Object
# methods(include _ inherited = true) -> [Symbol] (4.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...ected メソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
//emlist[例1][ruby]{
class Parent......指定して
# いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true) - Object.instance_methods(true)
p obj.public_methods(true) - Object.public_instance_methods(true)
p obj.private_methods(true) - Object.private_instance_methods(t......rue)
p obj.protected_methods(true) - Object.protected_instance_methods(true)
# 実行結果
[:protected_singleton, :public_singleton, :protected_foo, :public_foo, :protected_parent, :public_parent]
[:public_singleton, :public_foo, :public_parent]
[:private_singleton, :private_foo, :private_parent]... -
Object
# must _ be -> true (4.0) -
自身の評価結果が真である場合、検査にパスしたことになります。
自身の評価結果が真である場合、検査にパスしたことになります。
@raise MiniTest::Assertion 自身の評価結果が偽である場合に発生します。
@see MiniTest::Assertions#assert -
Object
# must _ be _ close _ to(expected , delta = 0 . 001) -> true (4.0) -
自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
@param expected 期待値を指定します。
@param delta 許容する絶対誤差を指定します。
@raise MiniTest::Assertion 与えられた期待値と実際の値の差の絶対値が与えられた差分を越える場合に発生します。
@see MiniTest::Assertions#assert_in_delta -
Object
# must _ be _ empty -> true (4.0) -
自身が空である場合、検査にパスしたことになります。
自身が空である場合、検査にパスしたことになります。
@raise MiniTest::Assertion 自身が empty? メソッドを持たない場合に発生します。
また、自身が空でない場合にも発生します。
@see MiniTest::Assertions#assert_empty -
Object
# must _ be _ instance _ of(klass) -> true (4.0) -
自身が与えられたクラスのインスタンスである場合、検査にパスしたことになります。
自身が与えられたクラスのインスタンスである場合、検査にパスしたことになります。
@param klass 任意のクラスを指定します。
@raise MiniTest::Assertion 自身が与えられたクラスの直接のインスタンスでない場合に発生します。
@see MiniTest::Assertions#assert_instance_of -
Object
# must _ be _ kind _ of(klass) -> true (4.0) -
自身が与えられたクラスまたはそのサブクラスのインスタンス である場合、検査にパスしたことになります。
自身が与えられたクラスまたはそのサブクラスのインスタンス
である場合、検査にパスしたことになります。
@param klass 自身が所属することを期待するクラスを指定します。
@raise MiniTest::Assertion 自身が与えられたクラスまたはそのサブクラスのインスタンスではない場合に発生します。
@see MiniTest::Assertions#assert_kind_of -
Object
# must _ be _ nil -> true (4.0) -
自身が nil である場合、検査にパスしたことになります。
自身が nil である場合、検査にパスしたことになります。
@raise MiniTest::Assertion 自身が nil でない場合に発生します。
@see MiniTest::Assertions#assert_nil -
Object
# must _ be _ same _ as(actual) -> true (4.0) -
自身と与えられたオブジェクトの Object#object_id が同じ場合、検査にパスしたことになります。
...自身と与えられたオブジェクトの Object#object_id が同じ場合、検査にパスしたことになります。
@param actual 任意のオブジェクトを指定します。
@raise MiniTest::Assertion 自身と与えられたオブジェクトが異なる場合に発生します。... -
Object
# must _ be _ within _ delta(expected , delta = 0 . 001) -> true (4.0) -
自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
@param expected 期待値を指定します。
@param delta 許容する絶対誤差を指定します。
@raise MiniTest::Assertion 与えられた期待値と実際の値の差の絶対値が与えられた差分を越える場合に発生します。
@see MiniTest::Assertions#assert_in_delta -
Object
# must _ be _ within _ epsilon(actual , epsilon = 0 . 001) -> true (4.0) -
自身と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。
自身と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。
@param actual 実際の値を指定します。
@param epsilon 許容する相対誤差を指定します。
@raise MiniTest::Assertion 検査に失敗した場合に発生します。 -
Object
# must _ equal(expected) -> true (4.0) -
自身が比較対象のオブジェクトと等しい場合、検査にパスしたことになります。
...しい場合、検査にパスしたことになります。
@param expected 比較対象のオブジェクトを指定します。
@raise MiniTest::Assertion 与えられた期待値と実際の値が等しくない場合に発生します。
@see Object#==, MiniTest::Assertions#assert_equal... -
Object
# must _ include(object) -> true (4.0) -
自身に与えられたオブジェクトが含まれている場合、検査にパスしたことになります。
...自身に与えられたオブジェクトが含まれている場合、検査にパスしたことになります。
@param object 任意のオブジェクトを指定します。
@raise MiniTest::Assertion 自身が include? メソッドを持たない場合に発生します。... -
Object
# must _ match(regexp) -> true (4.0) -
自身が与えられた正規表現にマッチした場合、検査にパスしたことになります。
自身が与えられた正規表現にマッチした場合、検査にパスしたことになります。
@param regexp 正規表現か文字列を指定します。文字列を指定した場合は文字列そのものにマッチする
正規表現に変換してから使用します。
@raise MiniTest::Assertion 自身が与えられた正規表現にマッチしなかった場合に発生します。
@see MiniTest::Assertions#assert_match -
Object
# must _ raise(*args) -> true (4.0) -
自身を評価中に与えられた例外が発生する場合、検査にパスしたことになります。
自身を評価中に与えられた例外が発生する場合、検査にパスしたことになります。
@param args 自身を評価中に発生する可能性のある例外クラスを一つ以上指定します。
@raise MiniTest::Assertion 自身を評価した結果、例外が発生しない場合に発生します。
また、自身を評価中に発生した例外が、与えられた例外
またはそのサブクラスでない場合に発生します。
@see MiniTest::Assertions#assert_raises -
Object
# must _ respond _ to(method _ name) -> true (4.0) -
自身が与えられたメソッドを持つ場合、検査にパスしたことになります。
自身が与えられたメソッドを持つ場合、検査にパスしたことになります。
@param method_name メソッド名を指定します。
@raise MiniTest::Assertion 自身が与えられたメソッドを持たない場合に発生します。
@see MiniTest::Assertions#assert_respond_to -
Object
# must _ send -> true (4.0) -
@todo
@todo -
Object
# must _ throw(tag) -> true (4.0) -
自身を評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。
自身を評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。
@param tag 自身を評価中に Kernel.#throw されるタグを任意のオブジェクトとして指定します。
@raise MiniTest::Assertion 与えられたタグが Kernel.#throw されなかった場合に発生します。
@see MiniTest::Assertions#assert_throws -
Object
# nil? -> bool (4.0) -
レシーバが nil であれば真を返します。
レシーバが nil であれば真を返します。
p false.nil? #=> false
p nil.nil? #=> true
@see NilClass -
Object
# object _ id -> Integer (4.0) -
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。
...られるかは不定です。
Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
メソッドはその値を返します。
TrueClass, FalseCla......じ object_id になります。
これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、
同じ内容のインスタンスを複数生成しないという内部実装が理由です。
//emlist[][ruby]{
p "ruby".object_id #......=> 60
p "ruby".object_id #=> 80
p [].object_id #=> 100
p [].object_id #=> 120
p :ruby.object_id #=> 710428
p :ruby.object_id #=> 710428
p 11.object_id #=> 23
p 11.object_id #=> 23
p true.object_id #=> 20
p true.object_id #=> 20
//}
@see Object#equal?,Symbol... -
Object
# pretty _ inspect -> String (4.0) -
self を pp で表示したときの結果を文字列として返します。
self を pp で表示したときの結果を文字列として返します。 -
Object
# pretty _ print(pp) -> () (4.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
...ブジェクトです。
//emlist[][ruby]{
require 'pp'
class Array
def pretty_print(q)
q.group(1, '[', ']') {
q.seplist(self) {|v|
q.pp v
}
}
end
end
//}
@see Object#pretty_print_cycle, Object#inspect, PrettyPrint#text, PrettyPrint#group, PrettyPrint#breakable... -
Object
# pretty _ print _ cycle(pp) -> () (4.0) -
プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。
...プリティプリント時にオブジェクトの循環参照が検出された場合、
Object#pretty_print の代わりに呼ばれるメソッドです。
あるクラスの pp の出力をカスタマイズしたい場合は、
このメソッドも再定義する必要があります。
@p......aram pp PP オブジェクトです。
//emlist[][ruby]{
class Array
def pretty_print_cycle(q)
q.text(empty? ? '[]' : '[...]')
end
end
//}
@see Object#pretty_print... -
Object
# pretty _ print _ inspect -> String (4.0) -
Object#pretty_print を使って Object#inspect と同様に オブジェクトを人間が読める形式に変換した文字列を返します。
...
Object#pretty_print を使って Object#inspect と同様に
オブジェクトを人間が読める形式に変換した文字列を返します。
出力する全てのオブジェクトに Object#pretty_print が定義されている必要があります。
そうでない場合には RuntimeEr......ror が発生します。
@raise RuntimeError 出力する全てのオブジェクトに Object#pretty_print が定義されて
いない場合に発生します。... -
Object
# pretty _ print _ instance _ variables -> [String | Symbol] (4.0) -
プリティプリント時に表示すべき自身のインスタンス変数名の配列をソートして返します。 返されたインスタンス変数はプリティプリント時に表示されます。
プリティプリント時に表示すべき自身のインスタンス変数名の配列をソートして返します。
返されたインスタンス変数はプリティプリント時に表示されます。
pp に表示したくないインスタンス変数がある場合にこのメソッドを再定義します。 -
Object
# private _ methods(include _ inherited = true) -> [Symbol] (4.0) -
そのオブジェクトが理解できる private メソッド名の一覧を返します。
...が理解できる private メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#private_instance_methods,Object#methods,Object#singleton_methods... -
Object
# protected _ methods(include _ inherited = true) -> [Symbol] (4.0) -
そのオブジェクトが理解できる protected メソッド名の一覧を返します。
...解できる protected メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#protected_instance_methods,Object#methods,Object#singleton_methods... -
Object
# psych _ to _ yaml(options = {}) -> String (4.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Object
# public _ method(name) -> Method (4.0) -
オブジェクトの public メソッド name をオブジェクト化した Method オブジェクトを返します。
...vate メソッド名を引数として与えると発生します。
//emlist[][ruby]{
1.public_method(:to_int) #=> #<Method: Integer#to_int>
1.public_method(:p) # method `p' for class `Integer' is private (NameError)
//}
@see Object#method,Object#public_send,Module#public_instance_method... -
Object
# public _ methods(include _ inherited = true) -> [Symbol] (4.0) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
...が理解できる public メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#public_instance_methods,Object#methods,Object#singleton_methods... -
Object
# public _ send(name , *args) -> object (4.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
...しなかった場合に発生します。
@raise NoMethodError protected メソッドや private メソッドに対して実行
した場合に発生します。
//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}
@see BasicObject#__send__, Object#send... -
Object
# public _ send(name , *args) { . . . . } -> object (4.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
...しなかった場合に発生します。
@raise NoMethodError protected メソッドや private メソッドに対して実行
した場合に発生します。
//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}
@see BasicObject#__send__, Object#send... -
Object
# remove _ instance _ variable(name) -> object (4.0) -
オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。
オブジェクトからインスタンス変数 name を取り除き、そのインス
タンス変数に設定されていた値を返します。
@param name 削除するインスタンス変数の名前をシンボルか文字列で指定します。
@raise NameError オブジェクトがインスタンス変数 name を持たない場合に発生します。
//emlist[][ruby]{
class Foo
def foo
@foo = 1
p remove_instance_variable(:@foo) #=> 1
p remove_instance_variable(:@foo) # instance v... -
Object
# respond _ to?(name , include _ all = false) -> bool (4.0) -
オブジェクトがメソッド name を持つとき真を返します。
...されたメソッドで NotImplementedError が発生する場合は true を返します。
メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。
@param name Symbol または文字列で指定するメソッド名です。... -
Object
# respond _ to _ missing?(symbol , include _ private) -> bool (4.0) -
自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。
...れるメソッドに対し
BasicObject#method_missing で反応するつもりならば真を返します。
Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。
BasicObject#method_missing を override した......end
end
def respond_to_missing?(sym, include_private)
(sym =~ /^to_*/) ? true : super
end
end
s = Sample.new
s.to_sample("sample args1", "sample args2")
s.respond_to?(:to_sample) # => true
s.respond_to?(:sample) # => false
//}
@see Object#respond_to?, BasicObject#method_missing... -
Object
# send(name , *args) -> object (4.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出す......ーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
//}
@see Object#public_send, BasicObject#__send__, Object#method, Kernel.#eval, Proc, Method... -
Object
# send(name , *args) { . . . . } -> object (4.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出す......ーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
//}
@see Object#public_send, BasicObject#__send__, Object#method, Kernel.#eval, Proc, Method... -
Object
# singleton _ class -> Class (4.0) -
レシーバの特異クラスを返します。 まだ特異クラスがなければ、新しく作成します。
...します。
@raise TypeError レシーバが Integer、Float、Symbol の場合に発生します。
//emlist[][ruby]{
Object.new.singleton_class #=> #<Class:#<Object:0xb7ce1e24>>
String.singleton_class #=> #<Class:String>
nil.singleton_class #=> NilClass
//}
@see Object#class... -
Object
# singleton _ method(name) -> Method (4.0) -
オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。
...o.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
//}
@see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#method... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (4.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...た特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じで......ラスのクラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。
p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)
#実行結果
[:protected_self, :public_self, :protecte......d_bar, :public_bar]
[:protected_class_foo, :public_class_foo, :protected_class_parent, :public_class_parent]
//}
@see Object#methods,Object#extend... -
Object
# taint -> self (4.0) -
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
...&%&(#!'"
p some.tainted? #=> false
eval(some) #=> @&%&(#!
some.taint
p some.tainted? #=> true
eval(some) # Insecure operation - eval (SecurityError)
some.untaint
p some.tainted? #=> false
eval(some) #=> @&%&(#!
p ENV['OS'].tainted? #=> true
//}
@see Object#tainted?,Object#untaint,Object#freeze... -
Object
# tainted? -> bool (4.0) -
...オブジェクトの汚染に関してはspec/safelevelを参照してください。
//emlist[][ruby]{
p String.new.tainted? #=> false
p ENV['OS'].tainted? #=> true
//}
このメソッドは Ruby 2.7から deprecated で、Ruby 3.2 で削除予定です。
@see Object#taint,Object#untaint... -
Object
# tap {|x| . . . } -> self (4.0) -
self を引数としてブロックを評価し、self を返します。
self を引数としてブロックを評価し、self を返します。
メソッドチェインの途中で直ちに操作結果を表示するために
メソッドチェインに "入り込む" ことが、このメソッドの主目的です。
//emlist[][ruby]{
(1..10) .tap {|x| puts "original: #{x}" }
.to_a .tap {|x| puts "array: #{x}" }
.select {|x| x.even? } .tap {|x| puts "evens: #{x}" }
.map ... -
Object
# to _ a -> Array (4.0) -
オブジェクトを配列に変換した結果を返します。 デフォルトでは定義されていません。
...のメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
//emlist[][ruby]{
p( {'a'=>1}.to_a ) # [["a", 1]]
p ['array'].to_a # ["array"]
p nil.to_a # []
//}
@see Object#to_ary,Kernel.#Array... -
Object
# to _ ary -> Array (4.0) -
オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する......すべての場面で代置可能であるような、
* 配列そのものとみなせるようなもの
という厳しいものになっています。
//emlist[][ruby]{
class Foo
def to_ary
[3,4]
end
end
it = Foo.new
p([1,2] + it) #=> [1, 2, 3, 4]
//}
@see Object#to_a,Kernel.#Array... -
Object
# to _ enum(method = :each , *args) -> Enumerator (4.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (4.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ hash -> Hash (4.0) -
オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する... -
Object
# to _ int -> Integer (4.0) -
オブジェクトの Integer への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する... -
Object
# to _ io -> IO (4.0) -
オブジェクトの IO への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する... -
Object
# to _ proc -> Proc (4.0) -
オブジェクトの Proc への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
//emlist[][ruby]{
def doing
yie... -
Object
# to _ regexp -> Regexp (4.0) -
オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する... -
Object
# to _ s -> String (4.0) -
オブジェクトの文字列表現を返します。
...使って文字列に変換し
ます。
//emlist[][ruby]{
class Foo
def initialize num
@num = num
end
end
it = Foo.new(40)
puts it #=> #<Foo:0x2b69110>
class Foo
def to_s
"Class:Foo Number:#{@num}"
end
end
puts it #=> Class:Foo Number:40
//}
@see Object#to_str,Kernel.#String... -
Object
# to _ str -> String (4.0) -
オブジェクトの String への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する......面で代置可能であるような、
* 文字列そのものとみなせるようなもの
という厳しいものになっています。
//emlist[][ruby]{
class Foo
def to_str
'Edition'
end
end
it = Foo.new
p('Second' + it) #=> "SecondEdition"
//}
@see Object#to_s,Kernel.#String... -
Object
# to _ yaml(options = {}) -> String (4.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Object
# trust -> self (4.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#untaint と同じ動作をします。
...このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#untaint と同じ動作をします。
@see Object#untrusted?,Object#untrust... -
Object
# untaint -> self (4.0) -
オブジェクトの「汚染マーク」を取り除きます。
...ェクトの汚染に関してはspec/safelevelを参照してください。
ruby -e 'p ARGV[0].tainted?;t=+ARGV[0];t.untaint;p t.tainted?' hoge
# => true
# false
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
@see Object#taint,Object#tainted?... -
Object
# untrust -> self (4.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#taint と同じ動作をします。
...このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#taint と同じ動作をします。
@see Object#trust,Object#untrusted?... -
Object
# untrusted? -> bool (4.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#tainted? と同じ動作をします。
...このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#tainted? と同じ動作をします。
@see Object#trust,Object#untrust... -
Object
. new -> Object (4.0) -
Objectクラスのインスタンスを生成して返します。
...
Objectクラスのインスタンスを生成して返します。
//emlist[][ruby]{
some = Object.new
p some #=> #<Object:0x2b696d8>
//}... -
Object
. yaml _ tag(tag) -> () (4.0) -
クラスと tag の間を関連付けます。
...end
attr_reader :x
end
# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
# =>
# --- !ruby/object:Foo
# x: 3
# Registers tag with class Foo
Foo.yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
Psych.dump(Foo.new(3), STDOUT)
# =>......# --- !<tag:example.com,2013:foo>
# x: 3
# Loads the object from the tagged YAML node
p Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x0000000130f48 @x=8>... -
Object
:: ARGF -> Object (4.0) -
引数 (なければ標準入力) で構成される仮想ファイル (詳細は ARGF、ARGF.class を参照)。
引数 (なければ標準入力) で構成される仮想ファイル
(詳細は ARGF、ARGF.class を参照)。
つまり Kernel.#gets は ARGF.class#gets と同じ意味です。
ARGF.class#file で現在読み込み中のファイルオブジェクトが、
ARGF.class#filename で現在読み込み中のファイル名が得られます。 -
Object
:: ARGV -> Array (4.0) -
Ruby スクリプトに与えられた引数を表す配列です。
Ruby スクリプトに与えられた引数を表す配列です。
組み込み変数 $* の別名です。
Ruby 自身に対する引数は取り除かれています。
例:
スクリプト argv.rb の内容が
p ARGV
であったとします。このときシェルから次を実行すると、
$ ruby argv.rb foo bar baz
結果は以下のように出力されます。
["foo", "bar", "baz"] -
Object
:: DATA -> File (4.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
スクリプトの __END__
プログラムの終り以降をアクセスする File オブジェクト。
d:spec/program#terminateも参照。
ソースファイルの __END__ 以降は解析・実行の対象にならないので
その部分にプログラムが利用するためのデータを書き込んでおくことができます。
DATA 定数はそのデータ部分にアクセスするための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、
... -
Object
:: ENV -> Object (4.0) -
環境変数を表す (擬似) 連想配列 (詳細は ENV を参照)。
環境変数を表す (擬似) 連想配列 (詳細は ENV を参照)。
この連想配列の値を変更すると子プロセスの環境として引き継がれます。 -
Object
:: FALSE -> FalseClass (4.0) -
非推奨です。代表的な偽の値。false と同じ。
非推奨です。代表的な偽の値。false と同じ。
この定数は過去との互換性のために提供されています。擬似変数 false を使ってください。
Ruby では false と nil が偽として扱われます。
偽でない値(false でも nil でもない値) は全て真とみなされます。 -
Object
:: NIL -> NilClass (4.0) -
非推奨です。 nil と同じ。
非推奨です。 nil と同じ。
この定数は過去との互換性のために提供されています。擬似変数 nil を使ってください。
Ruby では false と nil が偽として扱われます。
偽でない値(false でも nil でもない値) は全て真とみなされます。