ライブラリ
- ビルトイン (264)
- delegate (1)
- e2mmap (5)
- erb (2)
- etc (2)
-
fiddle
/ import (2) - forwardable (4)
- getoptlong (2)
- json (7)
-
json
/ add / bigdecimal (1) -
json
/ add / complex (1) -
json
/ add / date (1) -
json
/ add / date _ time (1) -
json
/ add / exception (1) -
json
/ add / range (1) -
json
/ add / rational (1) -
json
/ add / regexp (1) -
json
/ add / struct (1) -
json
/ add / time (1) -
net
/ http (1) - openssl (3)
- optparse (14)
- pp (3)
- rake (4)
-
rdoc
/ code _ object (1) -
rdoc
/ context (6) -
rdoc
/ markup (1) -
rdoc
/ parser (1) -
rdoc
/ stats (2) -
rdoc
/ top _ level (2) - resolv (3)
-
rexml
/ document (2) -
rexml
/ streamlistener (1) -
rubygems
/ remote _ fetcher (1) - set (3)
- timeout (2)
- tsort (8)
- uri (2)
-
webrick
/ httpauth / userdb (1) -
webrick
/ httpresponse (1) -
webrick
/ httpservlet / abstract (6) -
webrick
/ httputils (8) -
win32
/ registry (1) - win32ole (5)
クラス
-
ARGF
. class (81) - Array (4)
- BasicObject (12)
- BigDecimal (1)
- Class (6)
- Complex (1)
- Date (1)
- DateTime (1)
- ERB (2)
-
Etc
:: Passwd (2) - Exception (2)
- FalseClass (5)
-
Gem
:: RemoteFetcher (1) - GetoptLong (2)
- Hash (6)
- IO (1)
- Integer (1)
-
JSON
:: Parser (1) - Method (16)
- Module (51)
- NameError (1)
-
Net
:: HTTPResponse (1) - NilClass (13)
- Object (37)
-
OpenSSL
:: ASN1 :: ASN1Data (2) - OptionParser (14)
- PP (1)
- Proc (1)
-
RDoc
:: CodeObject (1) -
RDoc
:: Context (6) -
RDoc
:: Markup (1) -
RDoc
:: Parser (1) -
RDoc
:: Stats (2) -
RDoc
:: TopLevel (2) -
REXML
:: CData (2) - Range (1)
- Rational (1)
- Regexp (2)
-
Resolv
:: DNS (3) -
RubyVM
:: InstructionSequence (1) - Set (1)
- String (1)
- Struct (1)
- Thread (3)
-
Thread
:: Backtrace :: Location (4) - Time (1)
- TracePoint (3)
- TrueClass (5)
-
URI
:: Generic (2) - UnboundMethod (4)
-
WEBrick
:: HTTPResponse (1) -
WEBrick
:: HTTPServlet :: AbstractServlet (6) -
WEBrick
:: HTTPUtils :: FormData (8) -
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ TYPE (2) -
WIN32OLE
_ TYPELIB (2) -
Win32
:: Registry :: PredefinedKey (1)
モジュール
- Enumerable (14)
- Exception2MessageMapper (5)
-
Fiddle
:: Importer (2) - Forwardable (4)
-
JSON
:: Generator :: GeneratorMethods :: FalseClass (1) -
JSON
:: Generator :: GeneratorMethods :: NilClass (1) -
JSON
:: Generator :: GeneratorMethods :: Object (1) -
JSON
:: Generator :: GeneratorMethods :: String (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kernel (3)
-
REXML
:: StreamListener (1) -
Rake
:: TaskManager (2) - TSort (8)
-
WEBrick
:: HTTPAuth :: UserDB (1)
キーワード
- ! (1)
- != (1)
- & (3)
- < (1)
- <=> (1)
- == (2)
- === (1)
- DelegateClass (1)
- Fail (1)
- Raise (1)
- [] (2)
- ^ (3)
-
_ _ send _ _ (2) -
_ dump (1) -
_ load (1) -
absolute
_ path (1) - accept (1)
-
add
_ class (1) -
add
_ class _ or _ module (2) -
add
_ module (1) -
add
_ special (1) -
add
_ trace _ func (1) - allocate (1)
- ancestors (1)
-
append
_ features (1) - argv (1)
- arity (2)
-
auth
_ type (1) - autoload (1)
- backtrace (1)
-
base
_ label (1) - bind (1)
- binmode (1)
- binmode? (1)
- bytes (2)
- call (2)
-
callee
_ id (1) - chars (2)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - classes (1)
- classify (1)
- clone (3)
- close (1)
- closed? (1)
- codepoints (2)
- component (1)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ missing (1) - constants (1)
-
def
_ class (1) -
def
_ delegator (1) -
def
_ exception (1) -
def
_ instance _ delegator (1) -
def
_ module (1) -
default
_ event _ sources (1) -
default
_ port (1) -
define
_ method (2) -
define
_ singleton _ method (2) -
define
_ task (1) -
defined
_ class (1) - delegate (1)
- display (1)
-
do
_ DELETE (1) -
do
_ GET (1) -
do
_ HEAD (1) -
do
_ OPTIONS (1) -
do
_ POST (1) -
do
_ PUT (1) - dup (2)
- each (4)
-
each
_ byte (2) -
each
_ char (2) -
each
_ classmodule (1) -
each
_ codepoint (2) -
each
_ data (1) -
each
_ entry (2) -
each
_ line (4) -
each
_ resource (1) -
each
_ strongly _ connected _ component (2) -
each
_ strongly _ connected _ component _ from (2) - entitydecl (1)
- eof (1)
- eof? (1)
- error (1)
- error? (1)
- extend (1)
-
external
_ encoding (1) - fail (1)
- file (1)
- filename (2)
- filename= (1)
- fileno (1)
-
find
_ local _ symbol (1) -
fixed
_ encoding? (1) - getbyte (1)
- getc (1)
- getresource (1)
- getresources (1)
- gets (3)
- handler= (1)
-
http
_ version (1) - include (1)
- include? (1)
- included (1)
- inherited (1)
- initialize (1)
-
initialize
_ classes _ and _ modules (1) -
initialize
_ copy (1) -
inplace
_ mode (1) -
inplace
_ mode= (1) - inspect (7)
-
instance
_ delegate (1) -
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) -
instance
_ methods (1) -
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) -
instance
_ variables (1) - intern (1)
-
internal
_ encoding (1) -
is
_ a? (1) -
json
_ creatable? (1) -
kind
_ of? (1) - lambda? (1)
- lineno (1)
- lineno= (1)
- lines (6)
- list (1)
-
marshal
_ dump (1) -
marshal
_ load (1) - max (4)
- merge (2)
-
method
_ added (1) -
method
_ defined? (1) -
method
_ id (1) -
method
_ missing (1) -
method
_ removed (1) -
method
_ undefined (1) - methods (1)
- min (4)
-
module
_ eval (2) -
module
_ exec (1) - name (3)
- name= (1)
- new (1)
- nil? (1)
-
num
_ classes (1) -
num
_ classes= (1) -
object
_ group (1) -
ole
_ classes (1) -
ole
_ type (1) -
ole
_ types (1) - on (12)
-
original
_ name (2) - owner (2)
- parameters (1)
- parse (1)
-
parse
_ files _ matching (1) - path (1)
- pathmap (1)
- pos (1)
- pos= (1)
- prepend (1)
-
prepend
_ features (1) - prepended (1)
-
pretty
_ print (1) -
pretty
_ print _ cycle (1) - print (1)
- printf (1)
- private (1)
-
private
_ class _ method (1) -
private
_ constant (1) -
private
_ method _ defined? (1) -
protected
_ method _ defined? (1) -
public
_ class _ method (1) -
public
_ constant (1) -
public
_ method (1) -
public
_ method _ defined? (1) - putc (1)
- puts (1)
-
rake
_ extension (1) - rationalize (2)
- read (1)
-
read
_ nonblock (1) - readbyte (2)
- readchar (1)
- readline (3)
- readlines (3)
- readpartial (1)
- receiver (2)
- refine (1)
- reject (1)
-
remove
_ class _ variable (1) -
remove
_ classes _ and _ modules (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) -
remove
_ method (1) - replace (1)
- request (1)
-
respond
_ to? (1) -
respond
_ to _ missing? (1) - rewind (1)
- seek (1)
- send (2)
-
set
_ encoding (3) -
set
_ trace _ func (1) -
singleton
_ class (1) -
singleton
_ class? (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - skip (1)
-
sort
_ by (2) -
source
_ location (1) -
strongly
_ connected _ components (1) - struct (1)
-
super
_ method (1) - superclass (1)
-
tag
_ class (1) -
tag
_ class= (1) - tell (1)
- timeout (2)
-
to
_ a (6) -
to
_ ary (3) -
to
_ bn (1) -
to
_ c (1) -
to
_ f (1) -
to
_ h (2) -
to
_ hash (1) -
to
_ i (2) -
to
_ int (1) -
to
_ io (1) -
to
_ json (14) -
to
_ json _ raw _ object (1) -
to
_ proc (2) -
to
_ r (1) -
to
_ regexp (1) -
to
_ s (9) -
to
_ set (2) -
to
_ str (1) -
to
_ write _ io (1) - tsort (1)
-
tsort
_ each (2) - uclass (1)
- uclass= (1)
- unbind (1)
-
undef
_ method (1) - union (1)
- value (2)
- write (1)
- | (3)
検索結果
先頭5件
-
Module
# <=>(other) -> Integer | nil (58.0) -
self と other の継承関係を比較します。
self と other の継承関係を比較します。
self と other を比較して、
self が other の子孫であるとき -1、
同一のクラス/モジュールのとき 0、
self が other の先祖であるとき 1
を返します。
継承関係にないクラス同士の比較では
nil を返します。
other がクラスやモジュールでなければ
nil を返します。
@param other 比較対象のクラスやモジュール
//emlist[例][ruby]{
module Foo
end
class Bar
include Foo
end
class Baz < Bar
end
... -
Module
# const _ get(name , inherit = true) -> object (58.0) -
name で指定される名前の定数の値を取り出します。
name で指定される名前の定数の値を取り出します。
Module#const_defined? と違って Object を特別扱いすることはありません。
@param name 定数名。String か Symbol で指定します。
完全修飾名を指定しなかった場合はモジュールに定義されている
name で指定される名前の定数の値を取り出します。
@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。
@raise NameError ... -
Module
# include(*mod) -> self (58.0) -
モジュール mod をインクルードします。
モジュール mod をインクルードします。
@param mod Module のインスタンス( Enumerable など)を指定します。
@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。
//emlist[例][ruby]{
module M
end
module M2
include M
end
module M
include M2
end
//}
実行結果:
-:3:in `append_features': cyclic include detected (ArgumentError)
... -
Module
# instance _ methods(inherited _ too = true) -> [Symbol] (58.0) -
そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。
そのモジュールで定義されている public および protected メソッド名
の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@see Object#methods
//emlist[例1][ruby]{
class Foo
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end
# あるクラスのインスタンス... -
Object
# is _ a?(mod) -> bool (58.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
//emlist[][ruby]{
module M
end
c... -
Object
# kind _ of?(mod) -> bool (58.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
//emlist[][ruby]{
module M
end
c... -
Object
# methods(include _ inherited = true) -> [Symbol] (58.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。
このメソッドは public メソッドおよび protected メソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
//emlist[例1][ruby]{
class Parent
private; def private_parent() end
protecte... -
UnboundMethod
# bind(obj) -> Method (58.0) -
self を obj にバインドした Method オブジェクトを生成して返します。
self を obj にバインドした Method オブジェクトを生成して返します。
@param obj 自身をバインドしたいオブジェクトを指定します。ただしバインドできるのは、
生成元のクラスかそのサブクラスのインスタンスのみです。
@raise TypeError objがbindできないオブジェクトである場合に発生します
//emlist[例][ruby]{
# クラスのインスタンスメソッドの UnboundMethod の場合
class Foo
def foo
"foo"
end
end
# UnboundMethod `m' を生... -
PP
# object _ group(obj) { . . . } -> () (52.0) -
以下と等価な働きをするもので簡便のために用意されています。 group(1, '#<' + obj.class.name, '>') { ... }
以下と等価な働きをするもので簡便のために用意されています。
group(1, '#<' + obj.class.name, '>') { ... }
@param obj 表示したいオブジェクトを指定します。
@see PrettyPrint#group -
URI
:: Generic # component -> [Symbol] (52.0) -
self.class.component を返します。
self.class.component を返します。
@see URI::Generic.component -
URI
:: Generic # default _ port -> Integer | nil (52.0) -
self.class.default_port を返します。
self.class.default_port を返します。
@see URI::Generic.default_port -
Kernel
# timeout(sec) {|i| . . . . } -> object (43.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
=== 注意
timeout に... -
BasicObject
# ! -> bool (40.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
オブジェクトを真偽値として評価し、その論理否定を返します。
このメソッドは self が nil または false であれば真を、さもなくば偽を返します。
主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
このメソッドを再定義しても Ruby の制御式において nil や false 以外が偽として
扱われることはありません。
@return オブジェクトが偽であれば真、さもなくば偽
//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@co... -
BasicObject
# instance _ exec(*args) {|*vars| . . . } -> object (40.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... -
BasicObject
# singleton _ method _ removed(name) -> object (40.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.f... -
BasicObject
# singleton _ method _ undefined(name) -> object (40.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
Enumerable
# sort _ by -> Enumerator (40.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerable
# sort _ by {|item| . . . } -> [object] (40.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Method
# super _ method -> Method | nil (40.0) -
self 内で super を実行した際に実行されるメソッドを Method オブジェ クトにして返します。
self 内で super を実行した際に実行されるメソッドを Method オブジェ
クトにして返します。
@see UnboundMethod#super_method
//emlist[例][ruby]{
class Super
def foo
"superclass method"
end
end
class Sub < Super
def foo
"subclass method"
end
end
m = Sub.new.method(:foo) # => #<Method: Sub#foo>
m.call # => "subclass me... -
Module
# const _ defined?(name , inherit = true) -> bool (40.0) -
モジュールに name で指定される名前の定数が定義されている時真 を返します。
モジュールに name で指定される名前の定数が定義されている時真
を返します。
スーパークラスや include したモジュールで定義された定数を検索対象
にするかどうかは第二引数で制御することができます。
@param name String, Symbol で指定される定数名。
@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。
//emlist[例][ruby]{
module Kernel
FOO = 1
end
# Object は include したモジュ... -
Module
# include?(mod) -> bool (40.0) -
self かその親クラス / 親モジュールがモジュール mod を インクルードしていれば true を返します。
self かその親クラス / 親モジュールがモジュール mod を
インクルードしていれば true を返します。
@param mod Module を指定します。
//emlist[例][ruby]{
module M
end
class C1
include M
end
class C2 < C1
end
p C1.include?(M) # => true
p C2.include?(M) # => true
//} -
Module
# method _ defined?(name) -> bool (40.0) -
モジュールにインスタンスメソッド name が定義されており、 かつその可視性が public または protected であるときに true を返します。
モジュールにインスタンスメソッド name が定義されており、
かつその可視性が public または protected であるときに
true を返します。
@param name Symbol か String を指定します。
@see Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?
//emlist[例][ruby]{
module A
def method1() end
def protected_method1() en... -
Module
# prepend(*modules) -> self (40.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び... -
Module
# private _ constant(*name) -> self (40.0) -
name で指定した定数の可視性を private に変更します。
name で指定した定数の可視性を private に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@return self を返します。
@see Module#public_constant, Object#untrusted?
//emlist[例][ruby]{
module Foo
BAR = 'bar'
class Baz; end
QUX = 'qux'
class Quux; end
private_constan... -
Module
# private _ method _ defined?(name) -> bool (40.0) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。
インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が private であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?, Module#public_method_defined?, Module#protected_method_defined?
//emlist[例][ruby]{
module A
def method1() end
end
class B
private
def ... -
Module
# protected _ method _ defined?(name) -> bool (40.0) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。
インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が protected であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?, Module#public_method_defined?, Module#private_method_defined?
//emlist[例][ruby]{
module A
def method1() end
end
class B
protected
de... -
Module
# public _ method _ defined?(name) -> bool (40.0) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。
インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が public であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?, Module#private_method_defined?, Module#protected_method_defined?
//emlist[例][ruby]{
module A
def method1() end
end
class B
protected
de... -
Module
# remove _ const(name) -> object (40.0) -
name で指定した定数を取り除き、その定数に設定されていた値を 返します。
name で指定した定数を取り除き、その定数に設定されていた値を
返します。
@param name String または Symbol を指定します。
@return 引数で指定された定数に設定されていた値を返します。
@raise NameError 引数で指定された定数がそのモジュールやクラスに定義されていない場合に発生します。
//emlist[例][ruby]{
class Foo
FOO = 1
p remove_const(:FOO) # => 1
p FOO # => uninitialized constant FOO at Foo (Na... -
Object
# ===(other) -> bool (40.0) -
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。
デフォルトでは内部で Object#== を呼び出します。
when 節の式をレシーバーとして === を呼び出すことに注意してください。
また Enumerable#grep でも使用されます。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行... -
Object
# _ dump(limit) -> String (40.0) -
Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。
Marshal.#dump において出力するオブジェクトがメソッド _dump
を定義している場合には、そのメソッドの結果が書き出されます。
バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
メソッドを持つ場合は marshal_dump が優先されます。
メソッド _dump は引数として再帰を制限するレベル limit を受
け取り、オブジェクトを文字列化したものを返します。
インスタンスがメソッド _... -
Object
# extend(*modules) -> self (40.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
en... -
Object
# initialize _ copy(obj) -> object (40.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタンス変数に保持させない場合がありますが、そういった内部情
報を initialize_copy でコピーするよう定義しておくことで、du... -
Object
# inspect -> String (40.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
# remove _ instance _ variable(name) -> object (40.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... -
Proc
# lambda? -> bool (40.0) -
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
引数の取扱の厳密さの意味は以下の例を参考にしてください。
//emlist[例][ruby]{
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
proc{}.lambda? # => false
# Proc.new で生成した Proc オブジェクトでは false
Proc.new{}.lambda? # => false
# 以下、lambda?が偽である場合
#... -
Regexp
# fixed _ encoding? -> bool (40.0) -
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
//emlist[例][ruby]{
# -*- coding:utf-8 -*-
r = /a/
r.fixed_encoding? # => false
r.encoding # => #<Encoding:US-ASCII>
r =~ "\u{6666} a" # => 2
r =~ "\xa1\... -
String
# pathmap(spec = nil) { . . . } -> String (40.0) -
与えられた書式指定文字列に応じてパス(自身)を変換します。
与えられた書式指定文字列に応じてパス(自身)を変換します。
与えられた書式指定文字列は変換の詳細を制御します。
指定できる書式指定文字列は以下の通りです。
: %p
完全なパスを表します。
: %f
拡張子付きのファイル名を表します。ディレクトリ名は含まれません。
: %n
拡張子なしのファイル名を表します。
: %d
パスに含まれるディレクトリのリストを表します。
: %x
パスに含まれるファイルの拡張子を表します。拡張子が無い場合は空文字列を表します。
: %X
拡張子以外すべてを表します。
: %s
定義されていれば、代替のファイルセパレータを表します。... -
WIN32OLE
_ TYPE # ole _ type -> String | nil (40.0) -
selfの型の種類(TYPEKIND)を取得します。
selfの型の種類(TYPEKIND)を取得します。
@return selfの型の種類を文字列で返します。情報が取得できない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.ole_type # => Class
ole_typeには以下があります。
: Enum
列挙子(0)
: Record
ユーザ定義型(メソッドを持たない構造体)(1)
: Module
モジュール(静的関数やデータだけを保持)(2)
: In... -
Array
# clone -> Array (22.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0... -
Array
# dup -> Array (22.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0... -
BasicObject
# !=(other) -> bool (22.0) -
オブジェクトが other と等しくないことを判定します。
オブジェクトが other と等しくないことを判定します。
デフォルトでは self == other を評価した後に結果を論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくてはなりません。
このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
@param other 比較対象となるオブジェクト
@see ... -
BasicObject
# ==(other) -> bool (22.0) -
オブジェクトが other と等しければ真を、さもなくば偽を返します。
オブジェクトが other と等しければ真を、さもなくば偽を返します。
このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
することが期待されています。
デフォルトでは Object#equal? と同じオブジェクトの同一性になっています。
@param other 比較対象となるオブジェクト
@return other が self と同値であれば真、さもなくば偽
//emlist[例][ruby]{
class Person < BasicObject
def i... -
BasicObject
# _ _ send _ _ (name , *args) -> object (22.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# _ _ send _ _ (name , *args) { . . . . } -> object (22.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# method _ missing(name , *args) -> object (22.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
//emlist[例][ruby]{... -
BasicObject
# singleton _ method _ added(name) -> object (22.0) -
特異メソッドが追加された時にインタプリタから呼び出されます。
特異メソッドが追加された時にインタプリタから呼び出されます。
通常のメソッドの追加に対するフックには
Module#method_addedを使います。
@param name 追加されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_added(name)
puts "singleton method \"#{name}\" was added"
end
end
obj = Foo.new
def obj.foo
end
#=> singleton method "fo... -
BigDecimal
# to _ json(*args) -> String (22.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/bigdecimal'
BigDecimal('0.123456789123456789').to_json # => "{\"json_class\":\"BigDecimal\",\"b\":\"36:0.123456789123456789e0\"}"
//... -
Complex
# to _ json(*args) -> String (22.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/complex'
Complex(2, 3).to_json # => "{\"json_class\":\"Complex\",\"r\":2,\"i\":3}"
//}
@see JSON::Generator::GeneratorMethods::Hash... -
Date
# to _ json(*args) -> String (22.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
Date.today.to_json
# => "{\"json_class\":\"Date\",\"y\":2018,\"m\":12... -
DateTime
# to _ json(*args) -> String (22.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
DateTime.now.to_json
# => "{\"json_class\":\"DateTime\",\"y\":2018,\"... -
ERB
# def _ module(methodname=& # 39;erb& # 39;) -> Module (22.0) -
変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。
変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。
@param methodname メソッド名
//emlist[例][ruby]{
require 'erb'
filename = 'example.rhtml'
erb = ERB.new("test1<%= arg1 %>\ntest2<%= arg2 %>\n")
erb.filename = filename
MyModule = erb.def_module('render(arg1, arg2)')
class MyClass
include MyModule
end
print My... -
Enumerable
# each _ entry -> Enumerator (22.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# each _ entry {|obj| block} -> self (22.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# max {|a , b| . . . } -> object | nil (22.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# max(n) {|a , b| . . . } -> Array (22.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# min {|a , b| . . . } -> object | nil (22.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# min(n) {|a , b| . . . } -> Array (22.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# to _ set(klass = Set , *args) -> Set (22.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはその他のユーザ定義の
集合クラスのインスタンスを作ることができます
(ここでいう集合クラスとは、Setとメソッド/クラスメソッドで互換性のあるクラスです)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ... -
Enumerable
# to _ set(klass = Set , *args) {|o| . . . } -> Set (22.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはその他のユーザ定義の
集合クラスのインスタンスを作ることができます
(ここでいう集合クラスとは、Setとメソッド/クラスメソッドで互換性のあるクラスです)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ... -
Exception
# to _ json(*args) -> String (22.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
begin
0/0
rescue => e
e.to_json # => "{\"json_class\":\"ZeroDivis... -
Forwardable
# def _ delegator(accessor , method , ali = method) -> () (22.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_instance_delegator の別名になります。
例:
require 'forwardable'
class MyQueue
exten... -
Forwardable
# def _ instance _ delegator(accessor , method , ali = method) -> () (22.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_instance_delegator の別名になります。
例:
require 'forwardable'
class MyQueue
exten... -
Forwardable
# delegate(hash) -> () (22.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param hash 委譲先のメソッドがキー、委譲先のオブジェクトが値の
Hash を指定します。キーは Symbol、
String かその配列で指定します。
例:
require 'forwardable'
class Zap
extend Forwardable
delegate :length => :@str
delegate [:first, :last] => :@arr
def initialize
@arr = %w/fo... -
Forwardable
# instance _ delegate(hash) -> () (22.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param hash 委譲先のメソッドがキー、委譲先のオブジェクトが値の
Hash を指定します。キーは Symbol、
String かその配列で指定します。
例:
require 'forwardable'
class Zap
extend Forwardable
delegate :length => :@str
delegate [:first, :last] => :@arr
def initialize
@arr = %w/fo... -
Hash
# clone -> Hash (22.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>... -
Hash
# dup -> Hash (22.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>... -
Hash
# merge(other) -> Hash (22.0) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
self と other に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に other の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ... -
Hash
# merge(other) {|key , self _ val , other _ val| . . . } -> Hash (22.0) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
self と other に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に other の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ... -
Hash
# replace(other) -> self (22.0) -
ハッシュの内容を other の内容で置き換えます。
ハッシュの内容を other の内容で置き換えます。
デフォルト値の設定もotherの内容になります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self を返します。
//emlist[例][ruby]{
foo = {1 => 'a', 2 => 'b'}
bar = {2 => 'B', 3 => 'C'}
foo.replace(b... -
IO
# readbyte -> Integer (22.0) -
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
IO から1バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "123")
File.open("testfile") do |f|
begin
f.readbyte # => 49
f.readbyte # => 50
f.readbyte # => 51
f.readbyte # => 例外発生
rescue => e
e... -
Integer
# to _ bn -> OpenSSL :: BN (22.0) -
Integer を同じ数を表す OpenSSL::BN のオブジェクトに 変換します。
Integer を同じ数を表す OpenSSL::BN のオブジェクトに
変換します。
//emlist[][ruby]{
require 'pp'
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
なお、実装は、以下のようになっています。
//emlist[][ruby]{
class Integer
def to_bn
OpenSSL::BN::new(self)
end
end
//}
@see OpenSSL::BN.n... -
JSON
:: Generator :: GeneratorMethods :: Object # to _ json(state _ or _ hash = nil) -> String (22.0) -
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
このメソッドはあるオブジェクトに to_json メソッドが定義されていない場合に使用する
フォールバックのためのメソッドです。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json _ raw _ object -> Hash (22.0) -
生の文字列を格納したハッシュを生成します。
生の文字列を格納したハッシュを生成します。
このメソッドは UTF-8 の文字列ではなく生の文字列を JSON に変換する場合に使用してください。
require 'json'
"にほんご".encode("euc-jp").to_json_raw_object
# => {"json_class"=>"String", "raw"=>[164, 203, 164, 219, 164, 243, 164, 180]}
"にほんご".encode("euc-jp").to_json # source sequence is illegal/malformed (JSON::... -
Method
# [](*args) -> object (22.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Method
# arity -> Integer (22.0) -
メソッドが受け付ける引数の数を返します。
メソッドが受け付ける引数の数を返します。
ただし、メソッドが可変長引数を受け付ける場合、負の整数
-(必要とされる引数の数 + 1)
を返します。C 言語レベルで実装されたメソッドが可変長引数を
受け付ける場合、-1 を返します。
//emlist[例][ruby]{
class C
def u; end
def v(a); end
def w(*a); end
def x(a, b); end
def y(a, b, *c); end
def z(a, b, *... -
Method
# call(*args) -> object (22.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Method
# call(*args) { . . . } -> object (22.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Method
# clone -> Method (22.0) -
自身を複製した Method オブジェクトを作成して返します。
自身を複製した Method オブジェクトを作成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.call # => "foo"
m.clone # => #<Method: Foo#foo>
m.clone.call # => "foo"
//} -
Method
# name -> Symbol (22.0) -
このメソッドの名前を返します。
このメソッドの名前を返します。
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.name # => :foo
//} -
Method
# original _ name -> Symbol (22.0) -
オリジナルのメソッド名を返します。
オリジナルのメソッド名を返します。
//emlist[例][ruby]{
class C
def foo; end
alias bar foo
end
C.new.method(:bar).original_name # => :foo
//}
@see UnboundMethod#original_name -
Method
# parameters -> [object] (22.0) -
Method オブジェクトの引数の情報を返します。
Method オブジェクトの引数の情報を返します。
Method オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に応じた以下のような Symbol と、仮引数の名前を表す Symbol の 2 要素です。
組み込みのメソッドでは、仮引数の名前が取れません。
: :req
必須の引数
: :opt
デフォルト値が指定されたオプショナルな引数
: :rest
* で指定された残りすべての引数
: :keyreq
必須のキーワード引数
: :key
デフォルト値が指定されたオプショナルなキーワード引数
: :keyre... -
Method
# receiver -> object (22.0) -
このメソッドオブジェクトのレシーバを返します。
このメソッドオブジェクトのレシーバを返します。
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.receiver # => #<Foo:0x007fb39203eb78>
m.receiver.foo(1) # => "foo called with arg 1"
//} -
Method
# source _ location -> [String , Integer] | nil (22.0) -
ソースコードのファイル名と行番号を配列で返します。
ソースコードのファイル名と行番号を配列で返します。
その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。
@see Proc#source_location
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
def foo; end
end
# ----- end of /tmp/foo.rb ----
require '/tmp/foo'
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.source... -
Method
# to _ proc -> Proc (22.0) -
self を call する Proc オブジェクトを生成して返します。
self を call する Proc オブジェクトを生成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
pr = m.to_proc # => #<Proc:0x007f874d026008 (lambda)>
pr.call # => "foo"
//} -
Method
# unbind -> UnboundMethod (22.0) -
self のレシーバとの関連を取り除いた UnboundMethod オブ ジェクトを生成して返します。
self のレシーバとの関連を取り除いた UnboundMethod オブ
ジェクトを生成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
unbound_method = m.unbind # => #<UnboundMethod: Foo#foo>
unbound_method.bind(Foo.new) # => #<Method: Foo#foo>
//} -
Module
# const _ missing(name) (22.0) -
定義されていない定数を参照したときに Ruby インタプリタが このメソッドを呼びます。
定義されていない定数を参照したときに Ruby インタプリタが
このメソッドを呼びます。
@param name 参照した定数名の Symbol
@raise NameError このメソッドを呼び出した場合、デフォルトで発生する例外
//emlist[例][ruby]{
class Foo
def Foo.const_missing(id)
warn "undefined constant #{id.inspect}"
end
Bar
end
Foo::Bar
# => undefined constant :Bar
# undefined consta... -
Module
# define _ method(name) { . . . } -> Symbol (22.0) -
インスタンスメソッド name を定義します。
インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス、モジュー... -
Module
# define _ method(name , method) -> Symbol (22.0) -
インスタンスメソッド name を定義します。
インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス、モジュー... -
Module
# instance _ method(name) -> UnboundMethod (22.0) -
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError self に存在しないメソッドを指定した場合に発生します。
@see Module#public_instance_method, Object#method
//emlist[例][ruby]{
class Interpreter
def do_a() print "there, "; end
def do_d() print "Hello ";... -
Module
# method _ added(name) -> () (22.0) -
メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。
メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの追加に対するフックには
BasicObject#singleton_method_added
を使います。
@param name 追加されたメソッドの名前が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def Foo.method_added(name)
puts "method \"#{name}\" was added"
end
def foo
end
define_method :bar, instance_me... -
Module
# method _ removed(name) -> () (22.0) -
メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。
メソッドが Module#remove_method により削除
された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの削除に対するフックには
BasicObject#singleton_method_removed
を使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def Foo.method_removed(name)
puts "method \"#{name}\" was removed"
end
def foo
end
remove_... -
Module
# method _ undefined(name) -> () (22.0) -
このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
このモジュールのインスタンスメソッド name が
Module#undef_method によって削除されるか、
undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
特異メソッドの削除をフックするには
BasicObject#singleton_method_undefined
を使います。
@param name 削除/未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class C
def C.method_undefined(name)
puts "method C\##{name} was... -
Module
# private(*name) -> self (22.0) -
メソッドを private に設定します。
メソッドを private に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドを関数形式でだけ呼び出せるように(private)設定します。
引数が与えられた時には引数によって指定されたメソッドを private に
設定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
//emlist[例][ruby]{
class Foo
... -
Module
# public _ constant(*name) -> self (22.0) -
name で指定した定数の可視性を public に変更します。
name で指定した定数の可視性を public に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@return self を返します。
//emlist[例][ruby]{
module SampleModule
class SampleInnerClass
end
# => 非公開クラスであることを明示するために private にする
private_constant :SampleInnerClass
end
begin
... -
Module
# rake _ extension(method) { . . . } -> () (22.0) -
与えられたブロック内で既に存在するメソッドを再定義しようとした場合に 警告を表示します。この場合、ブロックは評価されません。
与えられたブロック内で既に存在するメソッドを再定義しようとした場合に
警告を表示します。この場合、ブロックは評価されません。
@param method ブロック内で再定義する予定のメソッド名を指定します。
例:
class String
rake_extension("xyz") do
def xyz
...
end
end
end -
Module
# refine(klass) { . . . } -> Module (22.0) -
引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で きるモジュールを定義します。定義した機能は Module#refine を使用せずに直 接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。 そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
refinements 機能の詳細については以下を参照してください。
* https://magazine.rubyist.net/articles/0041/0041-200Special-refinement.html
* https://docs... -
Module
# remove _ method(*name) -> self (22.0) -
インスタンスメソッド name をモジュールから削除します。
インスタンスメソッド name をモジュールから削除します。
Ruby 1.8.0 以降は複数のメソッド名を指定して一度に削除できます。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したメソッドが定義されていない場合に発生します。
//emlist[例][ruby]{
class C
def foo
end
remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
//}
@see Module#... -
NameError
# receiver -> object (22.0) -
self が発生した時のレシーバオブジェクトを返します。
self が発生した時のレシーバオブジェクトを返します。
例:
class Sample
def foo
return "foo"
end
end
bar = Sample.new
begin
bar.bar
rescue NameError => err
p err.receiver # => #<Sample:0x007fd4d89b3110>
p err.receiver.foo # => "foo"
end -
Net
:: HTTPResponse # value -> nil (22.0) -
レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。
レスポンスが 2xx(成功)でなかった場合に、対応する
例外を発生させます。
@raise HTTPError レスポンスが 1xx であるか、 net/http が知らない
種類のレスポンスである場合に発生します。
@raise HTTPRetriableError レスポンスが 3xx である場合に発生します。
@raise HTTPServerException レスポンスが 4xx である場合に発生します。
@raise HTTPFatalError レスポンスが 5xx である場合に発生します。
//emlist[例 レスポンスが 2xx(成功)... -
Object
# display(out = $ stdout) -> nil (22.0) -
オブジェクトを out に出力します。
オブジェクトを out に出力します。
以下のように定義されています。
//emlist[][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>
//}
@see $stdout