るりまサーチ (Ruby 3.2)

最速Rubyリファレンスマニュアル検索!
124件ヒット [1-100件を表示] (0.062秒)

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

クラス

モジュール

オブジェクト

キーワード

検索結果

<< 1 2 > >>

Module#include(*mod) -> self (54556.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)
...

main.include(*modules) -> self (54376.0)

引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。

引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。

@param modules Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場
合に発生します。

//emlist[例:][ruby]{
include Math

hypot(3, 4) # => 5.0
//}

@see Module#include

Module#ruby2_keywords(method_name, ...) -> nil (18442.0)

For the given method names, marks the method as passing keywords through a normal argument splat. This should only be called on methods that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the method such that if the method is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the method to other methods.

For the given method names, marks the method as passing keywords through
a normal argument splat. This should only be called on methods that
accept an argument splat (`*args`) but not explicit keywords or a
keyword splat. It marks the method such that if the method is called
with keyword argument...

Proc#ruby2_keywords -> proc (18442.0)

Marks the proc as passing keywords through a normal argument splat. This should only be called on procs that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the proc such that if the proc is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the proc to other methods.

Marks the proc as passing keywords through a normal argument splat. This
should only be called on procs that accept an argument splat (`*args`)
but not explicit keywords or a keyword splat. It marks the proc such
that if the proc is called with keyword arguments, the final hash
argument is marked ...

Module#included(class_or_module) -> () (18439.0)

self が Module#include されたときに対象のクラスまたはモジュー ルを引数にしてインタプリタがこのメソッドを呼び出します。

self が Module#include されたときに対象のクラスまたはモジュー
ルを引数にしてインタプリタがこのメソッドを呼び出します。

@param class_or_module Module#include を実行したオブジェクト

//emlist[例][ruby]{
module Foo
def self.included(mod)
p "#{mod} include #{self}"
end
end
class Bar
include Foo
end
# => "Bar include Foo"
//}

@see Module#append_featu...

絞り込み条件を変える

Range#include?(obj) -> bool (18394.0)

obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。

obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。


<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。

始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。

@param obj 比較対象のオブジェクトを指定します。

//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c")....

Module#include?(mod) -> bool (18376.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
//}

String#include?(substr) -> bool (18376.0)

文字列中に部分文字列 substr が含まれていれば真を返します。

文字列中に部分文字列 substr が含まれていれば真を返します。

@param substr 検索する文字列

//emlist[例][ruby]{
"hello".include? "lo" #=> true
"hello".include? "ol" #=> false
"hello".include? ?h #=> true
//}

Array#include?(val) -> bool (18358.0)

配列が val と == で等しい要素を持つ時に真を返します。

配列が val と == で等しい要素を持つ時に真を返します。

@param val オブジェクトを指定します。

//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.include?("b") #=> true
a.include?("z") #=> false
//}

Enumerable#include?(val) -> bool (18358.0)

val と == の関係にある要素を含むとき真を返します。

val と == の関係にある要素を含むとき真を返します。

@param val 任意のオブジェクト

//emlist[例][ruby]{
[2, 4, 6].include? 2 #=> true
[2, 4, 6].include? 1 #=> false
[2, 4, 6].member? 2 #=> true
[2, 4, 6].member? 1 #=> false
//}

絞り込み条件を変える

Module#included_modules -> [Module] (18337.0)

self にインクルードされているモジュールの配列を返します。

self にインクルードされているモジュールの配列を返します。

//emlist[例][ruby]{
module Mixin
end

module Outer
include Mixin
end

Mixin.included_modules #=> []
Outer.included_modules #=> [Mixin]
//}

@see Module#ancestors

rubygems/commands/install_command (18109.0)

Gem パッケージをローカルリポジトリにインストールするためのライブラリです。

Gem パッケージをローカルリポジトリにインストールするためのライブラリです。

Usage: gem install GEMNAME [GEMNAME ...] [options] -- --build-flags [options]
Options:
--platform PLATFORM 指定されたプラットフォームの Gem パッケージをインストールします
-v, --version VERSION 指定されたバージョンの Gem パッケージをインストールします
Install/Update Op...

ruby 1.6 feature (15574.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 がなくなっ
ていま...

ruby 1.8.4 feature (13480.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用語集 (11692.0)

Ruby用語集 A B C D E F G I J M N O R S Y

...ってメソッド呼び出し等に
制限を課していた。
しかし、Ruby 2.7 でこの機構は実質的に無効化されて、
Ruby 3.2 で削除された。


: 鬼雲
: Onigmo
Ruby 2.0 以降採用されている正規表現エンジン。鬼車のフォーク。

参照:spe...
...に基づき、行える操作に制限を加える仕組み。

しかし、Ruby 2.7 でこの機構は実質的に無効化されて、
Ruby 3.2 で削除された。


: セッター
: setter
オブジェクトのインスタンス変数に値を代入するためのメソッド。
イン...

絞り込み条件を変える

NEWS for Ruby 2.7.0 (10468.0)

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

...)
verbose モードでは警告が表示されます。
この警告は Ruby 3.0 では verbose モードでなくても表示され、Ruby 3.2 で削除される
予定です。 16131

* Object#methodとModule#instance_methodがrefinementsを考慮するようになりました。 153...
...ブラリ互換でpure Ruby実装の新しい標準ライブラリです。
複数行編集機能も提供しています。

* REXML
* 3.2.3に更新されました。
https://github.com/ruby/rexml/blob/master/NEWS.md

* RSS
* RSS 0.2.8に更新されました。
https...

NEWS for Ruby 3.1.0 (9748.0)

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

...した。
* RubyGems 3.3.3
* base64 0.1.1
* benchmark 0.2.0
* bigdecimal 3.1.1
* bundler 2.3.3
* cgi 0.3.1
* csv 3.2.2
* date 3.2.2
* did_you_mean 1.6.1
* digest 3.1.0
* drb 2.1.0
* erb 2.2.3
* error_highlight 0.3.0
* etc 1.3.0
* fcntl 1.0....
...以下のbundled gemsが更新されました。
* minitest 5.15.0
* power_assert 2.0.1
* rake 13.0.6
* test-unit 3.5.3
* rexml 3.2.5
* rbs 2.0.0
* typeprof 0.21.1
* 以下のdefault gemsがbundled gemsに変更されました。
* net-ftp 0.1.3
* net-imap 0.2....
...12913
* Psych 4.0では、デフォルトで Psych.load が Psych.safe_load に変更されました。この動作に移行するにはPsych 3.3.2を使用する必要があるかもしれません。 17866

== C API の更新

* ドキュメント化されました。 https://github.com/ruby/...

NEWS for Ruby 3.0.0 (9640.0)

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

...h
* Update to Psych 3.3.0
* This version is Ractor compatible.
* Reline
* Update to Reline 0.1.5
* RubyGems
* Update to RubyGems 3.2.3
* StringIO
* Update to StringIO 3.0.0
* This version is Ractor compatible.
* StringScanner
* Update to StringScanner 3.0.0
*...

NEWS for Ruby 2.1.0 (9604.0)

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

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

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

== 2.0.0 以降の変更

=== 言語仕様の変更

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

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

NEWS for Ruby 2.5.0 (9424.0)

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

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

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

== 2.4.0 以降の変更

=== 言語仕様の変更

* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展...

絞り込み条件を変える

Set#include?(o) -> bool (9358.0)

オブジェクト o がその集合に属する場合に true を返します。

オブジェクト o がその集合に属する場合に true を返します。

@param o オブジェクトを指定します。

//emlist[][ruby]{
set = Set['hello', 'world']
p set.include?('world') # => true
p set.include?('bye') # => false
//}

NEWS for Ruby 2.6.0 (9352.0)

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

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

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

== 2.5.0 以降の変更

=== 言語仕様の変更

* $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せるようになりました。 14250

* Refinements がブロック引数にも反映されるよ...

CSV::Row#include?(name) -> bool (9322.0)

自身のヘッダに与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

自身のヘッダに与えられた値が含まれている場合は真を返します。
そうでない場合は偽を返します。

@param name この行のヘッダに含まれているかどうか調べたい値を指定します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.header?("header1") # => true
row.header?("header3") # => false
//}

Hash#include?(key) -> bool (9322.0)

ハッシュが key をキーとして持つ時真を返します。

ハッシュが key をキーとして持つ時真を返します。

@param key 探索するキーを指定します。

//emlist[][ruby]{
p({1 => "one"}.key?(1)) # => true
p({1 => "one"}.key?(2)) # => false
//}

@see Hash#value?

Range#member?(obj) -> bool (9094.0)

obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。

obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。


<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。

始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。

@param obj 比較対象のオブジェクトを指定します。

//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c")....

絞り込み条件を変える

Enumerable#member?(val) -> bool (9058.0)

val と == の関係にある要素を含むとき真を返します。

val と == の関係にある要素を含むとき真を返します。

@param val 任意のオブジェクト

//emlist[例][ruby]{
[2, 4, 6].include? 2 #=> true
[2, 4, 6].include? 1 #=> false
[2, 4, 6].member? 2 #=> true
[2, 4, 6].member? 1 #=> false
//}

1.6.8から1.8.0への変更点(まとめ) (4681.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

クラス/メソッドの定義 (883.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...

変数と定数 (469.0)

変数と定数 * local * instance * class * class_var_scope * global * pseudo * const * prio

変数と定数
* local
* instance
* class
* class_var_scope
* global
* pseudo
* const
* prio

Ruby の変数と定数の種別は変数名の最初の一文字によって、
ローカル変数、
インスタンス変数、
クラス変数、
グローバル変数、
定数
のいずれかに区別されます。
通常の変数の二文字目以降は英数字または
_ですが、組み込み変数の一部には
「`$'+1文字の記号」という変数があります(builtinを参照)。変数名
の長さにはメモリのサイズ以外の制限はありません。

===[a:local] ロ...

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

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

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

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

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

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

絞り込み条件を変える

rdoc (427.0)

RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。

RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という
ドキュメント生成のためのコマンドも含んでいます。

このパッケージは RDoc と Markup というふたつのコンポーネントを含
んでいます。 RDoc とは Ruby のソースファイルに対するドキュメントを生成
するアプリケーションです。 JavaDoc と同様に、ソースを解析し、クラス、モ
ジュール、メソッドの定義を抜き出してきます(include,require もです)。そ
してこれらの内容とその直前に書かれたコメントを併合し、ドキュメントを出
力します(現在は HTML しか出力できませんが、こ...

Object#methods(include_inherited = true) -> [Symbol] (358.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...

Object#respond_to_missing?(symbol, include_private) -> bool (358.0)

自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。

自身が symbol で表されるメソッドに対し
BasicObject#method_missing で反応するつもりならば真を返します。

Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。

BasicObject#method_missing を override した場合にこのメソッドも
override されるべきです。

false を返します。

@param symbol メソッド名シンボル
@param include_private private method も含めたい場合に true が渡されます...

mkmf (319.0)

Ruby の拡張ライブラリのための Makefile を作成するライブラリです。

Ruby の拡張ライブラリのための Makefile を作成するライブラリです。

このライブラリは通常、extconf.rb という名前の ruby スクリプトから require されます。
この extconf.rb を実行して Makefile を作成するのが慣習です。

extconf.rb の書きかたについては、
Ruby のアーカイブに含まれる doc/extension.rdoc (日本語版は doc/extension.ja.rdoc)
も参照してください。

このライブラリでは extconf.rb を記述するのに有用なメソッドを定義しています。
ヘッダファイルの存在チェッ...

cgi (307.0)

CGI プログラムの支援ライブラリです。

...y + " --> " + value + "\n"
end.join("")
)
end
end
end
end

# HTML生成メソッドを追加
CGI.new("html3") # html3.2
CGI.new("html4") # html4.0 (Strict)
CGI.new("html4Tr") # html4.0 Transitional
CGI.new("html4Fr") # html4.0 Frameset
//}

==== ファイルの...
...3") # HTML3.2に準拠したHTML生成メソッドを追加
cgi.h1
# <H1></h1>
cgi.h1{ "content" }
# <H1>content</H1>
cgi.h1({ "class" => "foo", "attr" => "bar" }){ "content" }
# <H1 class="foo" attr="bar">content</H1>

# HTML生成メソッドを追加
CGI.new("html3") # html3.2
CGI.new("...

絞り込み条件を変える

Range#cover?(obj) -> bool (265.0)

obj が範囲内に含まれている時に true を返します。

obj が範囲内に含まれている時に true を返します。

Range#include? と異なり <=> メソッドによる演算により範囲内かどうかを判定します。
Range#include? は原則として離散値を扱い、
Range#cover? は連続値を扱います。
(数値については、例外として Range#include? も連続的に扱います。)

Range#exclude_end?がfalseなら「begin <= obj <= end」を、
trueなら「begin <= obj < end」を意味します。

@param obj 比較対象のオブジェクトを指定します。

//eml...

Range (253.0)

範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。

範囲オブジェクトのクラス。
範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、
日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。

==== 作り方

範囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。

//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 ...

drb (217.0)

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

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

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

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

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

MonitorMixin (163.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

スレッドの同期機構としてのモニター機能を提供するモジュールです。

クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数

# consumer
Thread.start do
lo...

Range#===(obj) -> bool (163.0)

始端と終端の中に obj があるとき、true を返します。 そうでないとき、false を返します。

始端と終端の中に obj があるとき、true を返します。
そうでないとき、false を返します。

Range#=== は主に case 式での比較に用いられます。

//emlist[例][ruby]{
p (0...50) === 79 #=> false
p (60...80) === 79 #=> true

case 79
when 0...60 then puts "low"
when 60...80 then puts "medium" # => medium
when 80..100 then puts "high"
end
//}

2.5 以前は、単...

絞り込み条件を変える

Range#cover?(range) -> bool (145.0)

2.6 以降の cover? は、Range#include? や Range#=== と異なり、 引数に Range オブジェクトを指定して比較できます。

2.6 以降の cover? は、Range#include? や Range#=== と異なり、
引数に Range オブジェクトを指定して比較できます。

引数が Range オブジェクトの場合、引数の範囲が self の範囲に含まれる時に true を返します。

@param range 比較対象の Range クラスのインスタンスを指定します。

//emlist[引数が Range の例][ruby]{
(1..5).cover?(2..3) #=> true
(1..5).cover?(0..6) #=> false
(1..5).cover?(1...6) ...

Object#extend(*modules) -> self (127.0)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。

Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。

引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。

@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。

//emlist[][ruby]{
module Foo
def a
'ok Foo'
en...

Mutex_m (121.0)

スレッド同期機構である Thread::Mutex のモジュール版です。クラスに Module#include することでそのクラスに Mutex 機能を持たせることができます。 また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

スレッド同期機構である Thread::Mutex のモジュール版です。クラスに
Module#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

このモジュールによるロックは再入不可能です。再入可能な同等品が必要な場合は
Sync_m の利用を考えてください。

「mu_」の付かないメソッド(Mutex_m#lock, Mutex_m#synchronize,
Mutex_m#locked?, Mutex_m#try_lock, Mutex_m#unlock)...

Fiddle::Closure (109.0)

コールバック関数を表すクラスです。

コールバック関数を表すクラスです。

Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。

FFI の closure の wrapper です。

利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブジェクトを生成することで利用します。

require 'fiddle'
include Fiddle # TYPE_* を使うために include する

class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(v...

Module#const_defined?(name, inherit = true) -> bool (109.0)

モジュールに name で指定される名前の定数が定義されている時真 を返します。

モジュールに name で指定される名前の定数が定義されている時真
を返します。

スーパークラスや include したモジュールで定義された定数を検索対象
にするかどうかは第二引数で制御することができます。

@param name String, Symbol で指定される定数名。

@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。

//emlist[例][ruby]{
module Kernel
FOO = 1
end

# Object は include したモジュー...

絞り込み条件を変える

Module#const_get(name, inherit = true) -> object (109.0)

name で指定される名前の定数の値を取り出します。

name で指定される名前の定数の値を取り出します。

Module#const_defined? と違って Object を特別扱いすることはありません。

@param name 定数名。String か Symbol で指定します。
完全修飾名を指定しなかった場合はモジュールに定義されている
name で指定される名前の定数の値を取り出します。

@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。

@raise NameError ...

TracePoint#defined_class -> Class | module (109.0)

メソッドを定義したクラスかモジュールを返します。

メソッドを定義したクラスかモジュールを返します。

//emlist[例][ruby]{
class C; def foo; end; end
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => C
end.enable do
C.new.foo
end
//}

メソッドがモジュールで定義されていた場合も(include に関係なく)モジュー
ルを返します。

//emlist[例][ruby]{
module M; def foo; end; end
class C; include M; end;
trac...

Module#append_features(module_or_class) -> self (91.0)

モジュール(あるいはクラス)に self の機能を追加します。

モジュール(あるいはクラス)に self の機能を追加します。

このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, s...

fiddle (91.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。

require ...

find (91.0)

ディレクトリ配下のファイルを探索するためのモジュールです。

ディレクトリ配下のファイルを探索するためのモジュールです。

=== 使い方

require "find"

Find.find('/foo','/bar') {|f| ...}

または

require "find"

include Find
find('/foo','/bar') {|f| ...}

以下は、ruby のアーカイブに含まれるサンプルスクリプト
(https://github.com/ruby/ruby/blob/master/sample/trojan.rb) をこのモジュールで書き換えたものです。

#! /usr/bin/env ...

絞り込み条件を変える

rexml/parsers/sax2parser (91.0)

SAX2 と同等の API を持つストリーム式の XML パーサ。

SAX2 と同等の API を持つストリーム式の XML パーサ。

コールバックをパーサオブジェクトに REXML::Parsers::SAX2Parser#listen で
設定してから REXML::Parsers::SAX2Parser#parse を呼び出すことで、
パーサからコールバックが呼び出されます。

コールバックには2種類あって、ブロックを使う方式と REXML::SAX2Listener
を include したクラスのオブジェクトを使う方式があります。詳しくは
REXML::Parsers::SAX2Parser#listen を参照してください。

REXML::Pa...

rexml/parsers/streamparser (91.0)

ストリーム式の XML パーサ。

ストリーム式の XML パーサ。

rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。

パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。

REXML::Parsers::StreamParser#pa...

ERB#def_module(methodname=&#39;erb&#39;) -> Module (85.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...

Fiddle::Closure::BlockCaller (85.0)

Ruby のブロックをラップしたコールバック関数を表すクラスです。

Ruby のブロックをラップしたコールバック関数を表すクラスです。

Ruby のブロックを C の関数ポインタとして表現するためのクラスです。

require 'fiddle'
include Fiddle

libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYP...

RbConfig::TOPDIR -> String (85.0)

Ruby がインストールされているディレクトリです。

Ruby がインストールされているディレクトリです。

TOPDIR
├── bin
│ ├── ...
│ └── ruby
├── include
├── lib
└── share

絞り込み条件を変える

ERB::Util.#u(s) -> String (73.0)

文字列 s を URLエンコードした文字列を返します。

文字列 s を URLエンコードした文字列を返します。

文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。

@param s URLエンコードを行う文字列

//emlist[例][ruby]{
require "erb"
include ERB::Util

puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P...

ERB::Util.#url_encode(s) -> String (73.0)

文字列 s を URLエンコードした文字列を返します。

文字列 s を URLエンコードした文字列を返します。

文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。

@param s URLエンコードを行う文字列

//emlist[例][ruby]{
require "erb"
include ERB::Util

puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P...

GC#garbage_collect(full_mark: true, immediate_sweep: true) -> nil (73.0)

ガーベージコレクトを開始します。

ガーベージコレクトを開始します。

GC.start や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。

nil を返します。

@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。

@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そう...

Method#inspect -> String (73.0)

self を読みやすい文字列として返します。

self を読みやすい文字列として返します。

以下の形式の文字列を返します。

#<Method: klass1(klass2)#method(arg) foo.rb:2> (形式1)

klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。

klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。

arg は引数を表します。
「foo.rb:2」は Method#...

Method#to_s -> String (73.0)

self を読みやすい文字列として返します。

self を読みやすい文字列として返します。

以下の形式の文字列を返します。

#<Method: klass1(klass2)#method(arg) foo.rb:2> (形式1)

klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。

klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。

arg は引数を表します。
「foo.rb:2」は Method#...

絞り込み条件を変える

Module#const_source_location(name, inherited = true) -> [String, Integer] (73.0)

name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。

name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。

@param name Symbol,String で定数の名前を指定します。
@param inherited true を指定するとスーパークラスや include したモジュールで定義された定数が対象にはなります。false を指定した場合 対象にはなりません。
@return ソースコードのファイル名と行番号を配列で返します。
指定した定数が見つからない場合は nil を返します。
定数は見つかったがソースファイルが見つからなかった場合は空の配列を返します。

...

Monitor (73.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty...

Refinement#import_methods(*modules) -> self (73.0)

モジュールからメソッドをインポートします。

モジュールからメソッドをインポートします。

Module#includeと違って、import_methods はメソッドをコピーして
refinement に追加して、refinementでインポートしたメソッドを有効化します。

メソッドをコピーするため、Rubyコードで定義されたメソッドだけしか
インポートできないことに注意してください。

//emlist[][ruby]{
module StrUtils
def indent(level)
' ' * level + self
end
end

module M
refine String do
imp...

Symbol.all_symbols -> [Symbol] (73.0)

定義済みの全てのシンボルオブジェクトの配列を返します。

定義済みの全てのシンボルオブジェクトの配列を返します。

p Symbol.all_symbols #=> [:RUBY_PLATFORM, :RUBY_VERSION, ...]

リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。
それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。
(何にも使われないシンボルは最適化により生成されないことがあります)

def number
'make_3'
end

p Symbol.all_symbols.select{|sym|sym.to_s.in...

tsort (73.0)

tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。

tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。

=== Example

//emlist[][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end

{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]

{1=>[2], 2=>[3, 4...

絞り込み条件を変える

Set#===(o) -> bool (58.0)

オブジェクト o がその集合に属する場合に true を返します。

オブジェクト o がその集合に属する場合に true を返します。

@param o オブジェクトを指定します。

//emlist[][ruby]{
set = Set['hello', 'world']
p set.include?('world') # => true
p set.include?('bye') # => false
//}

Set#member?(o) -> bool (58.0)

オブジェクト o がその集合に属する場合に true を返します。

オブジェクト o がその集合に属する場合に true を返します。

@param o オブジェクトを指定します。

//emlist[][ruby]{
set = Set['hello', 'world']
p set.include?('world') # => true
p set.include?('bye') # => false
//}

Module#method_defined?(name, inherit=true) -> bool (55.0)

モジュールにインスタンスメソッド name が定義されており、 かつその可視性が public または protected であるときに true を返します。

モジュールにインスタンスメソッド name が定義されており、
かつその可視性が public または protected であるときに
true を返します。

@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@see Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?

//em...

Module#private_method_defined?(name, inherit=true) -> bool (55.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。

インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が private であるときに true を返します。
そうでなければ false を返します。

@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@see Module#method_defined?, Module#public_method_defined?, Module#protected_method_defined?

//e...

Module#protected_method_defined?(name, inherit=true) -> bool (55.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。

インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が protected であるときに true を返します。
そうでなければ false を返します。

@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@see Module#method_defined?, Module#public_method_defined?, Module#private_method_defined?

//e...

絞り込み条件を変える

Module#public_method_defined?(name, inherit=true) -> bool (55.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。

インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が public であるときに true を返します。
そうでなければ false を返します。

@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@see Module#method_defined?, Module#private_method_defined?, Module#protected_method_defined?

//e...

Object#is_a?(mod) -> bool (55.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 (55.0)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。

@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。

//emlist[][ruby]{
module M
end
c...

Object#singleton_methods(inherited_too = true) -> [Symbol] (55.0)

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。

inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。

singleton_methods(false) は、Object#methods(false) と同じです。

@param inherited_too 継承した特異メソッドを含める場合は...

Pathname#each_child(with_directory = true) -> Enumerator (55.0)

self.children(with_directory).each と同じです。

self.children(with_directory).each と同じです。

@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。

//emlist[例][ruby]{
require "pathname"

Pathname("/usr/local").each_child {|f| p f }
# => #<Pathname:/usr/local/bin>
# => #<Pathname:/usr/local/etc>
# => #<Pathname:/usr/local/include>
# => #<Pathname:/us...

絞り込み条件を変える

Pathname#each_child(with_directory = true) {|pathname| ...} -> [Pathname] (55.0)

self.children(with_directory).each と同じです。

self.children(with_directory).each と同じです。

@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。

//emlist[例][ruby]{
require "pathname"

Pathname("/usr/local").each_child {|f| p f }
# => #<Pathname:/usr/local/bin>
# => #<Pathname:/usr/local/etc>
# => #<Pathname:/usr/local/include>
# => #<Pathname:/us...

WIN32OLE_VARIANT.new(val, vartype = nil) -> WIN32OLE_VARIANT (55.0)

指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。

指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。

@param val ラップするRubyオブジェクトを指定します。
@param vartype 省略時はWIN32OLEが自動型変換を行います。指定する場合は
WIN32OLE::VARIANTの定数を指定してください。
@return val引数を値として持つWIN32OLE_VARIANTオブジェクトを返します。

@raise TypeError val引数の型がArray、String、Integer、Float、Time、
WI...

drb/extservm (55.0)

DRb::ExtServManager を定義しているライブラリ。

DRb::ExtServManager を定義しているライブラリ。

DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。

このライブラリは簡易的なもので、あまりメンテナンスもされていないので、
本格的な用途にはこのライブラリを参...

オブジェクト (55.0)

オブジェクト === オブジェクトとは

オブジェクト
=== オブジェクトとは

Ruby で扱える全ての値はオブジェクトです。
Ruby のオブジェクトに対して可能な操作はメソッド呼び出しのみです。
あるオブジェクトが反応できるメソッドは、
そのオブジェクトが所属するクラスによって一意に決定します。
所属するクラスはオブジェクト生成時に決まり、その後は特異クラスの導入以外、所属クラスが変わることはありません。
またオブジェクトは、特定のクラスに対比して、その「インスタンス」とも呼ばれます。

オブジェクトの生成は、一般には、別のオブジェクトのメソッドを呼び出すことによって行われます。

=== クラス

クラスは自身に所属するオ...

ERB::Util.#h(s) -> String (37.0)

文字列 s を HTML用にエスケープした文字列を返します。

文字列 s を HTML用にエスケープした文字列を返します。

文字列 s 中に含まれる &"<> を、実体参照 &amp; &quot; &lt; &gt; にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。

@param s HTMLエスケープを行う文字列

//emlist[例][ruby]{
require "erb"
include ERB::Util

puts html_escape("is a > 0 & a < 10?")
# is a &gt; 0 &amp; a &lt; 10?
//}

絞り込み条件を変える

ERB::Util.#html_escape(s) -> String (37.0)

文字列 s を HTML用にエスケープした文字列を返します。

文字列 s を HTML用にエスケープした文字列を返します。

文字列 s 中に含まれる &"<> を、実体参照 &amp; &quot; &lt; &gt; にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。

@param s HTMLエスケープを行う文字列

//emlist[例][ruby]{
require "erb"
include ERB::Util

puts html_escape("is a > 0 & a < 10?")
# is a &gt; 0 &amp; a &lt; 10?
//}

Enumerable#each_entry -> Enumerator (37.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 (37.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

Enumerator (37.0)

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。
また、外部イテレータとしても使えます。

Enumerable モジュールは、 Module#include 先のクラスが持つ
each メソッドを元に様々なメソッドを提供します。
例えば Array#map は Array#each の繰り返しを元にして定義されます。
Enumerator を介することにより String#each_byte のような
異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。

Enumerator を生成するには Enu...

Forwardable (37.0)

クラスに対し、メソッドの委譲機能を定義するモジュールです。

クラスに対し、メソッドの委譲機能を定義するモジュールです。

=== 使い方

クラスに対して Object#extend して使います。Module#include でないところに注意して下さい。

//emlist[例][ruby]{
require 'forwardable'

class Foo
extend Forwardable

def_delegators("@out", "printf", "print")
def_delegators(:@in, :gets)
def_delegator(:@contents, :[], "content_at")
end
...

絞り込み条件を変える

Gem::Version#eql?(other) -> bool (37.0)

self と other の Gem::Version#version のバージョンが等しいとき true を返します。 そうでなければ false を返します。

self と other の Gem::Version#version のバージョンが等しいとき true を返します。
そうでなければ false を返します。

Comparable を include して作られた == と異なり、"1.0" と "1" は異なるものと判定します。

//emlist[][ruby]{
ver0 = Gem::Version.create('1.0') # #<Gem::Version "1.0">
ver1 = Gem::Version.create('1.0') # #<Gem::Version "1.0">
ver2 = Gem::Ver...

Kernel.#syscall(num, *arg) -> Integer (37.0)

numで指定された番号のシステムコールを実行します。 第2引数以降をシステムコールの引数として渡します。

numで指定された番号のシステムコールを実行します。
第2引数以降をシステムコールの引数として渡します。

どの数値がどのシステムコールに対応するかは、
syscall(2) や
/usr/include/sys/syscall.h を参照してください。

システムコールの慣習に従い、syscall(2)
が -1 を返す場合には例外 Errno::EXXX が発生します。
それ以外では、返した値をそのまま数値で返します。

ライブラリ fiddle を使えばより高レベルな操作ができます。

@param num システムコール番号です。
@param arg 文字列か、整数です。最大 9 ...

LUSolve.#lusolve(a, b, ps, zero = 0.0) -> [BigDecimal] (37.0)

LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。

LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。

@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。

@param b ベクトルを BigDecimal の配列で指定します。

@param ps LUSolve.#ludecomp の返り値を指定します。

@param zero 0.0 を表す値を指定します。

//emlist[][ruby]{
require ...

Math (37.0)

浮動小数点演算をサポートするモジュールです。

浮動小数点演算をサポートするモジュールです。

Math モジュールにはさまざま数学関数がモジュール関数として定義されています。
モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、
モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。

=== 例

//emlist[][ruby]{
pi = Math.atan2(1, 1)*4;
include Math
pi2 = atan2(1, 1)*4
//}

Module#<(other) -> bool | nil (37.0)

比較演算子。self が other の子孫である場合、 true を返します。 self が other の先祖か同一のクラス/モジュールである場合、false を返します。

比較演算子。self が other の子孫である場合、 true を返します。
self が other の先祖か同一のクラス/モジュールである場合、false を返します。

継承関係にないクラス同士の比較では
nil を返します。

@param other 比較対象のモジュールやクラス

@raise TypeError other がクラスやモジュールではない場合に発生します。

//emlist[例][ruby]{
module Foo
end
class Bar
include Foo
end
class Baz < Bar
end
class Qux
end
p Bar ...

絞り込み条件を変える

Module#<=(other) -> bool | nil (37.0)

比較演算子。self が other の子孫であるか、self と other が 同一クラスである場合、 true を返します。 self が other の先祖である場合、false を返します。

比較演算子。self が other の子孫であるか、self と other が
同一クラスである場合、 true を返します。
self が other の先祖である場合、false を返します。

継承関係にないクラス同士の比較では
nil を返します。

@param other 比較対象のモジュールやクラス

@raise TypeError other がクラスやモジュールではない場合に発生します。

@see Module#<

//emlist[例][ruby]{
module Foo; end
module Bar
include Foo
end
module Baz
...

Module#<=>(other) -> Integer | nil (37.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#>(other) -> bool | nil (37.0)

比較演算子。 self が other の先祖である場合、true を返します。 self が other の子孫か同一クラスである場合、false を返します。

比較演算子。 self が other の先祖である場合、true を返します。
self が other の子孫か同一クラスである場合、false を返します。

継承関係にないクラス同士の比較では
nil を返します。

@param other 比較対象のモジュールやクラス

@raise TypeError other がクラスやモジュールではない場合に発生します。

@see Module#<

//emlist[例][ruby]{
module Awesome; end
module Included
include Awesome
end
module Prepended
...

Module#>=(other) -> bool | nil (37.0)

比較演算子。self が other の先祖か同一クラスである場合、 true を返します。 self が other の子孫である場合、false を返します。

比較演算子。self が other の先祖か同一クラスである場合、 true を返します。
self が other の子孫である場合、false を返します。

継承関係にないクラス同士の比較では
nil を返します。

@param other 比較対象のモジュールやクラス

@raise TypeError other がクラスやモジュールではない場合に発生します。

@see Module#<

//emlist[例][ruby]{
module Foo; end
module Bar
include Foo
end
module Baz
prepend Foo
end

...

Module#ancestors -> [Class, Module] (37.0)

クラス、モジュールのスーパークラスとインクルードしているモジュール を優先順位順に配列に格納して返します。

クラス、モジュールのスーパークラスとインクルードしているモジュール
を優先順位順に配列に格納して返します。

//emlist[例][ruby]{
module Foo
end
class Bar
include Foo
end
class Baz < Bar
p ancestors
p included_modules
p superclass
end
# => [Baz, Bar, Foo, Object, Kernel, BasicObject]
# => [Foo, Kernel]
# => Bar
//}

@see Module#included_modules
...

絞り込み条件を変える

Module#constants(inherit = true) -> [Symbol] (37.0)

そのモジュール(またはクラス)で定義されている定数名の配列を返します。

そのモジュール(またはクラス)で定義されている定数名の配列を返します。

inherit に真を指定すると
スーパークラスやインクルードしているモジュールの定数も含みます。
Object のサブクラスの場合、Objectやそのスーパークラスで定義されている
定数は含まれません。 Object.constants とすると Object クラスで定義された
定数の配列が得られます。

得られる定数の順序は保証されません。

@param inherit true を指定するとスーパークラスや include したモジュールで
定義された定数が対象にはなります。false を指定し...

Module#prepend_features(mod) -> self (37.0)

Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定した モジュール/クラスの継承チェインの先頭に self を追加します。

Module#prepend から呼び出されるメソッドで、
prepend の処理の実体です。このメソッド自体は mod で指定した
モジュール/クラスの継承チェインの先頭に self を追加します。

このメソッドを上書きすることで、prepend の処理を変更したり
追加したりすることができます。

@param mod prepend を呼び出したモジュール
@return mod が返されます

//emlist[例][ruby]{
class Recorder
RECORDS = []
end

module X
def self.prepend_features(mod)
...

Module#private_instance_methods(inherited_too = true) -> [Symbol] (37.0)

そのモジュールで定義されている private メソッド名 の一覧を配列で返します。

そのモジュールで定義されている private メソッド名
の一覧を配列で返します。

@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。

@see Object#private_methods, Module#instance_methods

//emlist[例][ruby]{
module Foo
def foo; end
private def bar; end
end

module Bar
include Foo

def baz; end
private def qux; end
end...

ObjectSpace.#trace_object_allocations { ... } (37.0)

与えられたブロック内でオブジェクトのトレースを行います。 

与えられたブロック内でオブジェクトのトレースを行います。 

//emlist[例][ruby]{
require 'objspace'

class C
include ObjectSpace

def foo
trace_object_allocations do
obj = Object.new
p "#{allocation_sourcefile(obj)}:#{allocation_sourceline(obj)}"
end
end
end

C.new.foo #=> "objtrace.rb:8"
//}

Pathname#each_entry -> Enumerator (37.0)

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

ブロックを省略した場合は Enumerator を返します。

//emlist[例][ruby]{
require "pathname"

Pathname("/usr/local").each_entry {|f| p f }

# => #<Pathname:.>
# => #<Pathname:..>
# => #<Pathname:bin>
# => #<Pathname:etc>
# => #<Pathname:include>
# => #<Pathname:l...

絞り込み条件を変える

<< 1 2 > >>