るりまサーチ (Ruby 3.1)

最速Rubyリファレンスマニュアル検索!
2554件ヒット [201-300件を表示] (0.470秒)

別のキーワード

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

クラス

キーワード

検索結果

<< < 1 2 3 4 5 ... > >>

Object#initialize_copy(obj) -> object (112.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Object#then -> Enumerator (112.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
...

Object#then {|x| ... } -> object (112.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
...

絞り込み条件を変える

Object#yield_self -> Enumerator (112.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
...

Object#yield_self {|x| ... } -> object (112.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
...

OpenURI::Meta#base_uri -> URI (112.0)

リソースの実際の URI を URI オブジェクトとして返します。 リダイレクトされた場合は、リダイレクトされた後のデータが存在する URI を返します。

リソースの実際の URI を URI オブジェクトとして返します。
リダイレクトされた場合は、リダイレクトされた後のデータが存在する URI を返します。

//emlist[例][ruby]{
require 'open-uri'
URI.open('http://www.ruby-lang.org/') {|f|
p f.base_uri
#=> #<URI::HTTP:0xb7043aa0 URL:http://www.ruby-lang.org/en/>
}
//}

Pathname#sub(pattern) {|matched| ... } -> Pathname (112.0)

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内 容とする新しい Pathname オブジェクトを生成し、返します。

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内
容とする新しい Pathname オブジェクトを生成し、返します。

@param pattern 置き換える文字列のパターンを指定します。

@param replace pattern で指定した文字列と置き換える文字列を指定します。

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

path1 = Pathname('/usr/bin/perl')
path1.sub('perl', 'ruby') #=> #<Pathname:/usr/bin/ruby>
//}

@se...

Pathname#sub(pattern, replace) -> Pathname (112.0)

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内 容とする新しい Pathname オブジェクトを生成し、返します。

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内
容とする新しい Pathname オブジェクトを生成し、返します。

@param pattern 置き換える文字列のパターンを指定します。

@param replace pattern で指定した文字列と置き換える文字列を指定します。

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

path1 = Pathname('/usr/bin/perl')
path1.sub('perl', 'ruby') #=> #<Pathname:/usr/bin/ruby>
//}

@se...

絞り込み条件を変える

Proc#<<(callable) -> Proc (112.0)

self と引数を合成した Proc を返します。

self と引数を合成した Proc を返します。

戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。

Proc#>> とは呼び出しの順序が逆になります。

@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。

//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }

# (3 + 3) * (3 + ...

Range#===(obj) -> bool (112.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 以前は、単...

Rational#floor(precision = 0) -> Integer | Rational (112.0)

自身と等しいかより小さな整数のうち最大のものを返します。

自身と等しいかより小さな整数のうち最大のものを返します。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(3).floor # => 3
Rational(2, 3).floor # => 0
Rational(-3, 2).floor # => -2
//}

Rational#to_i とは違う結果を返す事に注意してください。

//emlist[例][ruby]{
Rational(+7, 4).to_i # => ...

Refinement#import_methods(*modules) -> self (112.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...

Regexp#to_s -> String (112.0)

正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。

正規表現の文字列表現を生成して返します。返される文字列は他の正規表
現に埋め込んでもその意味が保持されるようになっています。

//emlist[][ruby]{
re = /foo|bar|baz/i
p re.to_s # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
//}

ただし、後方参照を含む正規表現は意図通りにはならない場合があります。
この場合は名前付きキャプチャを使用すると影響を受けにくくなります。

//emlist[][ruby]{
re = /(foo|bar)\1...

絞り込み条件を変える

Set#divide {|o1, o2| ... } -> Set (112.0)

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

ブロックパラメータが 1 個の場合、block.call(o1) == block.call(o2) が真
ならば、o1 と o2 は同じ分割に属します。

ブロックパラメータが 2 個の場合、block.call(o1, o2) が真ならば、
o1 と o2 は同じ分割に属します。
この場合、block.call(o1, o2) == block.call(o2, o1)
が成立しないブロックを与えると期待通りの結果が得られません。

//emlist[例1][ruby]{
require 'set'
numbe...

Set#divide {|o| ... } -> Set (112.0)

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

ブロックパラメータが 1 個の場合、block.call(o1) == block.call(o2) が真
ならば、o1 と o2 は同じ分割に属します。

ブロックパラメータが 2 個の場合、block.call(o1, o2) が真ならば、
o1 と o2 は同じ分割に属します。
この場合、block.call(o1, o2) == block.call(o2, o1)
が成立しないブロックを与えると期待通りの結果が得られません。

//emlist[例1][ruby]{
require 'set'
numbe...

String#bytes -> [Integer] (112.0)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}

ブロックが指定された場合は String#each_byte と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_byte

String#bytes {|byte| ... } -> self (112.0)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}

ブロックが指定された場合は String#each_byte と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_byte

String#chars -> [String] (112.0)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

//emlist[例][ruby]{
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
//}

ブロックが指定された場合は String#each_char と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_char

絞り込み条件を変える

String#chars {|cstr| block } -> self (112.0)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

//emlist[例][ruby]{
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
//}

ブロックが指定された場合は String#each_char と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_char

String#codepoints -> [Integer] (112.0)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}

ブロックが指定された場合は String#each_codepoint と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#e...

String#codepoints {|codepoint| block } -> self (112.0)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}

ブロックが指定された場合は String#each_codepoint と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#e...

String#crypt(salt) -> String (112.0)

self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。

self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。

暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。

salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。

注意:

* Ruby 2.6 から非推奨になったため、引き続き...

String#grapheme_clusters -> [String] (112.0)

文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)

文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)

//emlist[例][ruby]{
"a\u0300".grapheme_clusters # => ["à"]
//}

ブロックが指定された場合は String#each_grapheme_cluster と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_grapheme_cluster

絞り込み条件を変える

String#grapheme_clusters {|grapheme_cluster| block } -> self (112.0)

文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)

文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)

//emlist[例][ruby]{
"a\u0300".grapheme_clusters # => ["à"]
//}

ブロックが指定された場合は String#each_grapheme_cluster と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@see String#each_grapheme_cluster

String#match(regexp, pos = 0) -> MatchData | nil (112.0)

regexp.match(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。

regexp.match(self, pos) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match を参照してください。

//emlist[例: regexp のみの場合][ruby]{
'hello'.match('(.)\1') # => #<MatchData "ll" 1:"l">
'hello'.match('(.)\1')[0] # => "ll"
'hello'.match(/(.)\1/)[0] # => "ll"
'hello'.match('xx') # => nil
//}
...

String#match(regexp, pos = 0) {|m| ... } -> object (112.0)

regexp.match(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。

regexp.match(self, pos) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match を参照してください。

//emlist[例: regexp のみの場合][ruby]{
'hello'.match('(.)\1') # => #<MatchData "ll" 1:"l">
'hello'.match('(.)\1')[0] # => "ll"
'hello'.match(/(.)\1/)[0] # => "ll"
'hello'.match('xx') # => nil
//}
...

String#oct -> Integer (112.0)

文字列を 8 進文字列であると解釈して、整数に変換します。

文字列を 8 進文字列であると解釈して、整数に変換します。

//emlist[例][ruby]{
p "10".oct # => 8
p "010".oct # => 8
p "8".oct # => 0
//}

oct は文字列の接頭辞 ("0", "0b", "0B", "0x", "0X") に応じて
8 進以外の変換も行います。

//emlist[例][ruby]{
p "0b10".oct # => 2
p "10".oct # => 8
p "010".oct # => 8
p "0x10".oct # => 16
//}

整数とみなせない文字があれば...

String#rindex(pattern, pos = self.size) -> Integer | nil (112.0)

文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。

文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。

引数 pattern は探索する部分文字列または正規表現で指定します。

pos が負の場合は、文字列の末尾から数えた位置から探索します。

rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して...

絞り込み条件を変える

String#to_r -> Rational (112.0)

自身を有理数(Rational)に変換した結果を返します。

自身を有理数(Rational)に変換した結果を返します。

Kernel.#Rational に文字列を指定した時のように、以下のいずれかの形
式で指定します。

* "1/3" のような分数の形式
* "0.3" のような10進数の形式
* "0.3E0" のような x.xEn の形式
* 数字をアンダースコアで繋いだ形式

//emlist[例][ruby]{
' 2 '.to_r # => (2/1)
'1/3'.to_r # => (1/3)
'-9.2'.to_r # => (-46/5)
'-9.2E2'.to_r ...

Symbol#to_proc -> Proc (112.0)

self に対応する Proc オブジェクトを返します。

self に対応する Proc オブジェクトを返します。

生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。

生成される Proc オブジェクトは lambda です。
//emlist[][ruby]{
:object_id.to_proc.lambda? # => true
//}

//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}

//...

Thread#[](name) -> object | nil (112.0)

name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。

name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。

@param name スレッド固有データのキーを文字列か Symbol で指定します。

//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join...

Time#yday -> Integer (112.0)

1月1日を1とした通算日(1から366まで)を整数で返します。

1月1日を1とした通算日(1から366まで)を整数で返します。

//emlist[][ruby]{
p Time.mktime(2000, 1, 1).yday # => 1
//}

うるう年の場合は、2月29日も含めた通算日を返します。

//emlist[うるう年でない場合][ruby]{
p Time.mktime(2003, 1, 1).yday # => 1
p Time.mktime(2003, 3, 1).yday # => 60
p Time.mktime(2003, 12, 31).yday # => 365
//}

//emlist[うるう年の場合][r...

TracePoint#enable -> bool (112.0)

self のトレースを有効にします。

self のトレースを有効にします。

実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)

//emlist[例][ruby]{
trace.enabled? # => false
trace.enable # => false (実行前の状態)

# トレースが有効

trace.enabled? # => true
trace.enable # => true (実行前の状態)

# 引き続きトレースが有効
//}

ブロックが与えられた場合、ブロック内でのみ...

絞り込み条件を変える

TracePoint#enable { ... } -> object (112.0)

self のトレースを有効にします。

self のトレースを有効にします。

実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)

//emlist[例][ruby]{
trace.enabled? # => false
trace.enable # => false (実行前の状態)

# トレースが有効

trace.enabled? # => true
trace.enable # => true (実行前の状態)

# 引き続きトレースが有効
//}

ブロックが与えられた場合、ブロック内でのみ...

UnboundMethod#source_location -> [String, Integer] | nil (112.0)

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

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

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

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

Time.instance_method(:zone).source_location # => nil
Time.instance_method(:httpdate).source_location # => ["/Users/user/.rbenv/versions/2.4.3/lib/ruby/2.4.0/time.rb", 654]
/...

WIN32OLE#setproperty(name, args..., val) -> () (112.0)

オブジェクトのプロパティを設定します。

オブジェクトのプロパティを設定します。

プロパティ名を指定してOLEオートメーションオブジェクトのプロパティ
(Rubyの属性に相当)を設定します。

なお、OLEオートメーションの仕様により、プロパティ名の大文字、小文字は区
別されません。

@param name プロパティ名を文字列またはシンボルで指定します。
@param val プロパティに設定する値を指定します。
@param args 集合的なプロパティに対する設定項目を特定するための引数を指
定します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗し...

WIN32OLE#setproperty(name, val) -> () (112.0)

オブジェクトのプロパティを設定します。

オブジェクトのプロパティを設定します。

プロパティ名を指定してOLEオートメーションオブジェクトのプロパティ
(Rubyの属性に相当)を設定します。

なお、OLEオートメーションの仕様により、プロパティ名の大文字、小文字は区
別されません。

@param name プロパティ名を文字列またはシンボルで指定します。
@param val プロパティに設定する値を指定します。
@param args 集合的なプロパティに対する設定項目を特定するための引数を指
定します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗し...

String#[](range) -> String (106.0)

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

@param range 取得したい文字列の範囲を示す Range オブジェクト

=== rangeオブジェクトが終端を含む場合

インデックスと文字列の対応については以下の対照図も参照してください。

0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '...

絞り込み条件を変える

String#slice(range) -> String (106.0)

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

@param range 取得したい文字列の範囲を示す Range オブジェクト

=== rangeオブジェクトが終端を含む場合

インデックスと文字列の対応については以下の対照図も参照してください。

0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '...

DRb::DRbUnknown#reload -> object (100.0)

保持しているマーシャリングされたオブジェクトをRubyのオブジェクトに 変換しようと試みます。

保持しているマーシャリングされたオブジェクトをRubyのオブジェクトに
変換しようと試みます。

DRbUnknown オブジェクトを受け取った後に対応するクラスが定義された場合、
このメソッドでそのクラスのオブジェクトに変換できます。
変換を試みて失敗した場合は DRbUnknown オブジェクトを返します。

ERB#def_method(mod, methodname, fname=&#39;(ERB)&#39;) -> nil (100.0)

変換した Ruby スクリプトをメソッドとして定義します。

変換した Ruby スクリプトをメソッドとして定義します。

定義先のモジュールは mod で指定し、メソッド名は methodname で指定します。
fname はスクリプトを定義する際のファイル名です。主にエラー時に活躍します。

@param mod メソッドを定義するモジュール(またはクラス)

@param methodname メソッド名

@param fname スクリプトを定義する際のファイル名

例:

require 'erb'
erb = ERB.new(script)
erb.def_method(MyClass, 'foo(bar)', 'foo.e...

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (100.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。

これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。

opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。

@return インポートした関数を表す ...

Fiddle::Importer#struct(signature) -> Class (100.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

C の構造体型に対応する Ruby のクラスを構築して返します。

構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。

このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
...

絞り込み条件を変える

Fiddle::Pointer#to_value -> object (100.0)

自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、 自身が指すオブジェクトを返します。

自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、
自身が指すオブジェクトを返します。

例:

require 'fiddle'

s = 'abc'
i = Fiddle.dlwrap(s)
cptr = Fiddle::Pointer.new(i)
p cptr.to_value #=> "abc"

Gem::Installer#formatted_program_filename(filename) -> String (100.0)

Ruby のコマンドと同じプレフィックスとサフィックスを付けたファイル名を返します。

Ruby のコマンドと同じプレフィックスとサフィックスを付けたファイル名を返します。

@param filename 実行ファイルのファイル名を指定します。

Gem::Installer#write_spec (100.0)

Ruby スクリプト形式で .gemspec ファイルを作成します。

Ruby スクリプト形式で .gemspec ファイルを作成します。

IRB::ExtendCommand::Load#execute(file_name, priv = nil) -> nil (100.0)

ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実 行します。

ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実
行します。

Kernel.#load と異なり、path の内容を irb で一行ずつタイプしたかの
ように、irb 上で一行ずつ評価されます。

@param file_name ファイル名を文字列で指定します。

@param priv 真を指定した場合は実行は内部的に生成される無名モジュール上
で行われ、グローバルな名前空間を汚染しません。

@raise LoadError 読み込みに失敗した場合に発生します。

IRB::ExtendCommand::Source#execute(file_name) -> nil (100.0)

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

path の内容を irb で一行ずつタイプしたかのように、irb 上で一行ずつ評価
されます。$" は更新されず、何度でも実行し直す事ができます。

@param file_name ファイル名を文字列で指定します。

絞り込み条件を変える

OpenSSL::ASN1::ASN1Data#value -> object (100.0)

ASN.1 値に対応するRubyのオブジェクトを返します。

ASN.1 値に対応するRubyのオブジェクトを返します。

@see OpenSSL::ASN1::ASN1Data#value=

OpenSSL::ASN1::ASN1Data#value=(value) (100.0)

ASN.1 値に対応するRubyのオブジェクトを変更します。

ASN.1 値に対応するRubyのオブジェクトを変更します。

@param value 設定するオブジェクト
@see OpenSSL::ASN1::ASN1Data#value

PP#comma_breakable -> () (100.0)

以下と等価な働きをするもので簡便のために用意されています。 //emlist[][ruby]{ text ',' breakable //}

以下と等価な働きをするもので簡便のために用意されています。
//emlist[][ruby]{
text ','
breakable
//}

@see PrettyPrint#text, PrettyPrint#breakable

Psych::ScalarScanner#tokenize(string) -> object (100.0)

YAML の scalar である文字列を Ruby のオブジェクトに変換した ものを返します。

YAML の scalar である文字列を Ruby のオブジェクトに変換した
ものを返します。

scanner = Psych::ScalarScanner.new
p scanner.tokenize("yes") # => true
p scanner.tokenize("year") # => "year"
p scanner.tokenize("12") # => 12

@param string 変換文字列

Psych::Stream#start(encoding = Psych::Nodes::Stream::UTF8) -> Psych::Stream (100.0)

Ruby オブジェクトを YAML document に変換するための準備をします。

Ruby オブジェクトを YAML document に変換するための準備をします。

変換された document は Psych::Stream.new で指定した
出力先に出力されます。

finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。

ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。

@param encoding 出...

絞り込み条件を変える

Psych::Stream#start(encoding = Psych::Nodes::Stream::UTF8) {|em| ... } -> Psych::Stream (100.0)

Ruby オブジェクトを YAML document に変換するための準備をします。

Ruby オブジェクトを YAML document に変換するための準備をします。

変換された document は Psych::Stream.new で指定した
出力先に出力されます。

finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。

ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。

@param encoding 出...

Psych::Visitors::YAMLTree#start(encoding = Nodes::Stream::UTF8) -> Psych::Nodes::Stream (100.0)

Ruby オブジェクトから YAML AST への変換のための準備をします。

Ruby オブジェクトから YAML AST への変換のための準備をします。


Psych::Visitors::YAMLTree#push が呼び出されたとき、
まだこのメソッドが呼び出されていなければ push メソッドがこの
メソッドを呼び出し、変換の準備をします。

encoding には以下のいずれかを指定できます。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE

@param encoding YAML AST に設定するエンコーディング

Rake::TestTask#warning -> bool (100.0)

この値が真である場合、テスト実行時に ruby -w を実行したのと同じ効果が生じます。

この値が真である場合、テスト実行時に ruby -w を実行したのと同じ効果が生じます。

Ripper#compile_error(msg) -> nil (100.0)

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま す。

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま
す。

@param msg エラーメッセージ。

サブクラスでオーバライドして使用します。

Ripper#end_seen? -> bool (100.0)

これまでに解析した Ruby プログラムの中に __END__ が含まれていたかどうか を返します。

これまでに解析した Ruby プログラムの中に __END__ が含まれていたかどうか
を返します。

絞り込み条件を変える

Ripper#filename -> String (100.0)

自身の持つ Ruby プログラムのファイル名を文字列で返します。

自身の持つ Ruby プログラムのファイル名を文字列で返します。

Ripper#warn(fmt, *args) -> nil (100.0)

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される 警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される
警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

Ripper#warning(fmt, *args) -> nil (100.0)

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出 力される警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出
力される警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

Ripper::Filter#filename -> String (100.0)

Ruby プログラムのファイル名を文字列で返します。

Ruby プログラムのファイル名を文字列で返します。

Ripper::Filter#parse(init = nil) -> object (100.0)

自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処 理を行った結果を返します。

自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処
理を行った結果を返します。

@param init 任意の値を指定できます。この値がイベントハンドラに渡されていきます。

引数 init を初期値としてイベントハンドラに渡されていきます。各種イベン
トハンドラの戻り値は次のイベントハンドラに渡されます。
Enumerable#inject のように、最終的な結果を戻り値として返します。

@see Ripper::Filter#on_default, Ripper::Filter#on_XXX

絞り込み条件を変える

Ripper::Lexer#lex -> [[Integer, Integer], Symbol, String, Ripper::Lexer::State] (100.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

ライブラリ内部で使用します。 Ripper.lex を使用してください。

Ripper::Lexer#parse -> [[Integer, Integer], Symbol, String, Ripper::Lexer::State] (100.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た だし Ripper::Lexer#lex と違い、結果をソートしません。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た
だし Ripper::Lexer#lex と違い、結果をソートしません。

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

Ripper::Lexer#tokenize -> [String] (100.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

ライブラリ内部で使用します。 Ripper.tokenize を使用してください。

Range#cover?(range) -> bool (94.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) ...

String#gsub!(pattern, replace) -> self | nil (88.0)

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。

gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く...

絞り込み条件を変える

Array#[]=(nth, val) (82.0)

nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。

nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、
拡張した領域を nil で初期化します。

@param nth インデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。

@param val 設定したい要素の値を指定します。

@raise TypeError 引数 nth に整数以外の(暗黙の型変換が行えない)オブジェ
クトを指定した場合に発生します。

@raise Index...

Array#fill(range) {|index| ... } -> self (82.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

Array#fill(start, length = nil) {|index| ... } -> self (82.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

Array#fill(val, range) -> self (82.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

Array#fill(val, start, length = nil) -> self (82.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

絞り込み条件を変える

MatchData#offset(name) -> [Integer, Integer] | [nil, nil] (82.0)

name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返 します。

name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返
します。

//emlist[例][ruby]{
[ self.begin(name), self.end(name) ]
//}

と同じです。nameの名前付きグループにマッチした部分文字列がなければ
[nil, nil] を返します。

@param name 名前(シンボルか文字列)

@raise IndexError 正規表現中で定義されていない name を指定した場合に発生します。

//emlist[例][ruby]{
/(?<year>\d{4})年(?<month>\...

Range#first(n) -> [object] (82.0)

最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。

最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。

@param n 取得する要素数を整数で指定します。整数以外のオブジェクトを指定
した場合は to_int メソッドによる暗黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

@raise ArgumentError n に負の数を指定した場合に発生します。

//emlist[例][ruby]{
(10..20).first(3) # => [10, 11, 1...

String#sub!(pattern, replace) -> self | nil (82.0)

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。

sub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く...

ARGF.class#binmode -> self (76.0)

self をバイナリモードにします。一度バイナリモードになった後は非バイナリ モードに戻る事はできません。

self をバイナリモードにします。一度バイナリモードになった後は非バイナリ
モードに戻る事はできません。

バイナリモード下では以下のように動作します。

* 改行の変換を停止する
* 文字エンコーディングの変換を停止する
* 内容を ASCII-8BIT として扱う

例:
# test1.png - 164B
# test2.png - 128B
# test1.png + test2.png = 292B

# $ ruby test.rb test1.png test2.png

ARGF.binmode
ARGF.read.size # => 29...

Addrinfo#connect_from(host, port) -> Socket (76.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

引数で指定されたアドレスから
自身のアドレスへソケットを接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定したアドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).co...

絞り込み条件を変える

Addrinfo#connect_from(host, port) {|sock| ... } -> object (76.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

引数で指定されたアドレスから
自身のアドレスへソケットを接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定したアドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).co...

Addrinfo#family_addrinfo(host, port) -> Addrinfo (76.0)

引数から自身に「似た」Addrinfo オブジェクトを生成します。

引数から自身に「似た」Addrinfo オブジェクトを生成します。

「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")...

Addrinfo#family_addrinfo(path) -> Addrinfo (76.0)

引数から自身に「似た」Addrinfo オブジェクトを生成します。

引数から自身に「似た」Addrinfo オブジェクトを生成します。

「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")...

Array#<<(obj) -> self (76.0)

指定された obj を自身の末尾に破壊的に追加します。

指定された obj を自身の末尾に破壊的に追加します。

//emlist[例][ruby]{
ary = [1]
ary << 2
p ary # [1, 2]
//}

またこのメソッドは self を返すので、以下のように連続して
書くことができます。

//emlist[例][ruby]{
ary = [1]
ary << 2 << 3 << 4
p ary #=> [1, 2, 3, 4]
//}

@param obj 自身に加えたいオブジェクトを指定します。Array#push と違って引数は一つしか指定できません。

@see Array#push

Array#bsearch -> Enumerator (76.0)

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
ます。self はあらかじめソートしておく必要があります。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返...

絞り込み条件を変える

Array#bsearch { |x| ... } -> object | nil (76.0)

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
ます。self はあらかじめソートしておく必要があります。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返...

Array#bsearch_index -> Enumerator (76.0)

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。

本メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照してください。

//emlist[例: find-minimum モード][ruby]{
ary = [0,...

Array#bsearch_index { |x| ... } -> Integer | nil (76.0)

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。

ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。

本メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照してください。

//emlist[例: find-minimum モード][ruby]{
ary = [0,...

Array#combination(n) -> Enumerator (76.0)

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。

@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

//emlist[...

Array#combination(n) {|c| block } -> self (76.0)

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。

@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

//emlist[...

絞り込み条件を変える

Array#find_index -> Enumerator (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

Array#find_index {|item| ...} -> Integer | nil (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

Array#find_index(val) -> Integer | nil (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

Array#index -> Enumerator (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

Array#index {|item| ...} -> Integer | nil (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

絞り込み条件を変える

Array#index(val) -> Integer | nil (76.0)

条件に一致する最初の要素の位置を返します。

条件に一致する最初の要素の位置を返します。

@param val 位置を知りたいオブジェクトを指定します。

指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。

//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}

ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初...

Array#join(sep = $,) -> String (76.0)

配列の要素を文字列 sep を間に挟んで連結した文字列を返します。

配列の要素を文字列 sep を間に挟んで連結した文字列を返します。

文字列でない要素に対しては、to_str があれば to_str、なければ to_s した結果を連結します。
要素がまた配列であれば再帰的に (同じ sep を利用して)
join した文字列を連結します。
ただし、配列要素が自身を含むような無限にネストした配列に対しては、以下
のような結果になります。

//emlist[例][ruby]{
ary = [1,2,3]
ary.push ary
p ary # => [1, 2, 3, [...]]
p ary.join # => Argum...

Array#keep_if -> Enumerator (76.0)

ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。

ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。

//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}

keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。

//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /...

Array#keep_if {|item| ... } -> self (76.0)

ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。

ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。

//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}

keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。

//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /...

Array#permutation(n = self.length) -> Enumerator (76.0)

サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。

サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。

引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。

得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。

@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
...

絞り込み条件を変える

<< < 1 2 3 4 5 ... > >>