クラス
-
ARGF
. class (1) - Array (18)
- BasicObject (2)
- Enumerator (4)
- Fiber (1)
- Float (1)
- Hash (8)
- IO (4)
- Integer (5)
- Method (6)
- Module (17)
- Numeric (5)
- Object (6)
- Proc (2)
- String (17)
- Struct (2)
- Symbol (4)
-
Thread
:: Queue (1) - Time (1)
モジュール
- Enumerable (12)
キーワード
- ! (1)
- % (2)
- ** (1)
- + (1)
- << (2)
- === (1)
- >> (2)
- [] (1)
-
alias
_ method (1) - append (1)
- binmode (1)
- bsearch (2)
- call (2)
- capitalize (1)
- capitalize! (1)
-
class
_ exec (1) - close (1)
- collect! (2)
- concat (2)
- count (1)
- crypt (1)
- delete (1)
- delete! (1)
-
deprecate
_ constant (1) - difference (1)
- div (1)
- divmod (2)
- downcase (1)
- downcase! (1)
- each (4)
-
each
_ with _ index (2) - encode (3)
-
end
_ with? (1) -
enum
_ for (2) - extend (1)
- include (1)
- insert (1)
-
instance
_ exec (1) - map! (2)
-
max
_ by (4) - merge (2)
- merge! (2)
-
module
_ exec (1) -
module
_ function (1) - modulo (1)
- pow (2)
- prepend (2)
- printf (1)
- private (1)
-
private
_ class _ method (1) -
private
_ constant (1) - product (2)
- protected (1)
- public (1)
-
public
_ class _ method (1) -
public
_ constant (1) - push (1)
- puts (1)
- remainder (1)
-
remove
_ method (1) - resume (1)
- round (1)
-
set
_ encoding (2) - squeeze! (1)
-
start
_ with? (1) - sum (2)
- swapcase (1)
- swapcase! (1)
- tap (1)
-
to
_ enum (2) -
to
_ f (1) -
to
_ h (4) -
transform
_ values! (2) -
undef
_ method (1) - union (1)
- unshift (1)
- upcase (1)
- upcase! (1)
- update (2)
- using (1)
- zip (4)
検索結果
先頭5件
-
String
# *(times) -> String (78382.0) -
文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。
文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。
@param times 整数
@return self を times 回繰り返した新しい文字列
@raise ArgumentError 引数に負数を指定したときに発生します。
//emlist[例][ruby]{
p "str" * 3 # => "strstrstr"
str = "abc"
p str * 4 # => "abcabcabcabc"
p str * 0 # => ""
p str # => "abc" (変化なし)
//} -
Integer
# **(other) -> Numeric (42328.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other) -> Numeric (33028.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other , modulo) -> Integer (33028.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Hash
# merge!(*others) {|key , self _ val , other _ val| . . . } -> self (25030.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# update(*others) {|key , self _ val , other _ val| . . . } -> self (25030.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Object
# enum _ for(method = :each , *args) {|*args| . . . } -> Enumerator (24772.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (24772.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Module
# prepend(*modules) -> self (24763.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び... -
Hash
# merge!(*others) -> self (24730.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# update(*others) -> self (24730.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# merge(*others) {|key , self _ val , other _ val| . . . } -> Hash (24727.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@... -
String
# concat(*arguments) -> self (24712.0) -
self に複数の文字列を破壊的に連結します。
self に複数の文字列を破壊的に連結します。
引数の値が整数である場合は Integer#chr の結果に相当する文字を末尾に追加します。追加する文字のエンコーディングは self.encoding です。
self を返します。
@param arguments 複数の文字列もしくは 0 以上の整数
//emlist[例][ruby]{
str = "foo"
str.concat
p str # => "foo"
str = "foo"
str.concat "bar", "baz"
p str # => "foobarbaz"
str = "foo"
str.... -
Object
# extend(*modules) -> self (24679.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
en... -
String
# delete!(*strs) -> self | nil (24679.0) -
self から strs に含まれる文字を破壊的に取り除きます。
self から strs に含まれる文字を破壊的に取り除きます。
str の形式は tr(1) と同じです。
つまり、「a-c」は a から c を意味し、"^0-9" のように
文字列の先頭が「^」の場合は指定文字以外を意味します。
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。
@return 通常は self を返しますが、何も変更が起こ... -
Module
# public(*name) -> self (24649.0) -
メソッドを public に設定します。
メソッドを public に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドをどんな形式でも呼び出せるように(public)設定します。
引数が与えられた時には引数によって指定されたメソッドを public に設
定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
//emlist[例][ruby]{
def foo() 1 en... -
Module
# undef _ method(*name) -> self (24649.0) -
このモジュールのインスタンスメソッド name を未定義にします。
このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別されます。
以下のコード例を参照してください。
//emlist[例][ruby]{
class A
... -
Array
# product(*lists) { |e| . . . } -> self (24631.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Module
# deprecate _ constant(*name) -> self (24631.0) -
name で指定した定数を deprecate に設定します。 deprecate に設定した定数を参照すると警告メッセージが表示されます。
name で指定した定数を deprecate に設定します。
deprecate に設定した定数を参照すると警告メッセージが表示されます。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@return self を返します。
//emlist[例][ruby]{
FOO = 123
Object.deprecate_constant(:FOO) # => Object
FOO
# warning: constant ::FOO is deprecated
# =... -
Module
# module _ function(*name) -> self (24631.0) -
メソッドをモジュール関数にします。
メソッドをモジュール関数にします。
引数が与えられた時には、
引数で指定されたメソッドをモジュール関数にします。
引数なしのときは今後このモジュール定義文内で
新しく定義されるメソッドをすべてモジュール関数にします。
モジュール関数とは、プライベートメソッドであると同時に
モジュールの特異メソッドでもあるようなメソッドです。
例えば Math モジュールのメソッドはすべてモジュール関数です。
self を返します。
@param name String または Symbol を 0 個以上指定します。
=== 注意
module_function はメソッドに「モジュール関数」とい... -
Module
# private _ class _ method(*name) -> self (24631.0) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を private に変更します。
@param name 0 個以上の String または Symbol を指定します。
//emlist[例][ruby]{
module Foo
def self.foo; end
end
Foo.singleton_class.private_method_defined?(:foo) # => false
Foo.private_class_method(:foo) # => Foo
Foo.singleton_class.private_method_define... -
Module
# private _ constant(*name) -> self (24631.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
# public _ class _ method(*name) -> self (24631.0) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を public に変更します。
@param name 0 個以上の String または Symbol を指定します。
//emlist[例][ruby]{
class Foo
def self.foo
"foo"
end
private_class_method :foo
end
Foo.foo # NoMethodError: private method `foo' called for Foo:Class
Foo.public_class_method(:foo) # => F... -
Module
# public _ constant(*name) -> self (24631.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
... -
String
# capitalize!(*options) -> self | nil (24631.0) -
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
@param options オプションの詳細は String#downcase を参照してください。
@return capitalize! は self を変更して返しますが、
変更が起こらなかった場合は nil を返します。
//emlist[例][ruby]{
str = "foobar"
str.capitalize!
p str # => "Foobar"
str = "fooBAR"
str.capitalize!
p str # => "Foobar"
//}
@see Stri... -
String
# downcase!(*options) -> self | nil (24631.0) -
全ての大文字を対応する小文字に破壊的に置き換えます。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての大文字を対応する小文字に破壊的に置き換えます。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は String#downcase を参照してください。
@return self を変更して返します。変更が無かった場合は nil を返します。
//emlist[例][ruby]{
str = "STRing?"
str.downcase!
p str # => "string?"
//}
@see String#downcase, String#upcase!, String#swapc... -
String
# swapcase!(*options) -> self | nil (24631.0) -
大文字を小文字に、小文字を大文字に破壊的に変更します。
大文字を小文字に、小文字を大文字に破壊的に変更します。
@param options オプションの詳細は String#downcase を参照してください。
swapcase! は self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
このメソッドはマルチバイト文字を認識しません。
//emlist[例][ruby]{
str = "ABCxyz"
str.swapcase!
p str # => "abcXYZ"
//}
@see String#swapcase, String#upcase!, String#downcase!, String... -
IO
# set _ encoding(enc _ str , **opts) -> self (24619.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
IO
# set _ encoding(ext _ enc , int _ enc , **opts) -> self (24619.0) -
IO のエンコーディングを設定します。
IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
引数が一つで、上のような形式でない場合には、
それが外部エンコーディングと見なされます。
引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
に設定します。
キーワード引数で外部エンコーディングを内部エンコーディングに変換する際の
オプションを指定します。
詳しくは String#encode を参照してください。
@param enc_str エンコーディングを表す文字列を指定します... -
Array
# append(*obj) -> self (24616.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
指定された obj を順番に配列の末尾に追加します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<< -
Array
# concat(*other _ arrays) -> self (24616.0) -
other_arrays の要素を自身の末尾に破壊的に連結します。
other_arrays の要素を自身の末尾に破壊的に連結します。
@param other_arrays 自身と連結したい配列を指定します。
//emlist[例][ruby]{
[ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat( ["b"], ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat #=> [ "a" ]
a = [ 1, 2, 3 ]
a.concat( [ 4, 5 ] )
a ... -
Array
# insert(nth , *val) -> self (24616.0) -
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。
引数 val を一つも指定しなければ何もしません。
@param nth val を挿入する位置を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param val 自身に挿入するオブジェクトを指定します。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlis... -
Array
# prepend(*obj) -> self (24616.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
指定された obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift [0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see A... -
Array
# push(*obj) -> self (24616.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
指定された obj を順番に配列の末尾に追加します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<< -
Array
# unshift(*obj) -> self (24616.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
指定された obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift [0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see A... -
Enumerable
# each _ with _ index(*args) {|item , index| . . . } -> self (24613.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、
要素とそのインデックスを繰り返すような
Enumerator を返します。
Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
@param args イテレータメソッド (each など) にそのまま渡されます。
//emlist[例][ruby]{
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
#... -
Module
# include(*mod) -> self (24613.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
# private(*name) -> self (24613.0) -
メソッドを private に設定します。
メソッドを private に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドを関数形式でだけ呼び出せるように(private)設定します。
引数が与えられた時には引数によって指定されたメソッドを private に
設定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
//emlist[例][ruby]{
class Foo
... -
Module
# protected(*name) -> self (24613.0) -
メソッドを protected に設定します。
メソッドを protected に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドを protected に設定します。
引数が与えられた時には引数によって指定されたメソッドを protected
に設定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
@see Module#protected_method_defined?
... -
Module
# remove _ method(*name) -> self (24613.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#... -
String
# squeeze!(*chars) -> self | nil (24613.0) -
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars の形式は tr(1) と同じです。つまり、
`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外を意味します。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
`-', `^', `\' はバックスラッシュ(`\')によ
りエスケープすることができます。
引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。
引数を複数指定した場合は、す... -
String
# upcase!(*options) -> self | nil (24613.0) -
全ての小文字を対応する大文字に破壊的に置き換えます。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての小文字を対応する大文字に破壊的に置き換えます。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は String#downcase を参照してください。
//emlist[例][ruby]{
buf = "stRIng? STring."
buf.upcase!
p buf # => "STRING? STRING."
//}
@see String#upcase, String#downcase!,
String#swapcase!, String#capitalize! -
Object
# enum _ for(method = :each , *args) -> Enumerator (24472.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) -> Enumerator (24472.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# tap {|x| . . . } -> self (24445.0) -
self を引数としてブロックを評価し、self を返します。
self を引数としてブロックを評価し、self を返します。
メソッドチェインの途中で直ちに操作結果を表示するために
メソッドチェインに "入り込む" ことが、このメソッドの主目的です。
//emlist[][ruby]{
(1..10) .tap {|x| puts "original: #{x}" }
.to_a .tap {|x| puts "array: #{x}" }
.select {|x| x.even? } .tap {|x| puts "evens: #{x}" }
.map ... -
Enumerator
# each -> self (24427.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
Enumerator
# each(*args) -> Enumerator (24427.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
Enumerator
# each(*args) { . . . } -> object (24427.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
Hash
# merge(*others) -> Hash (24427.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@... -
Enumerable
# zip(*lists) -> [[object]] (24424.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
Enumerable
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (24424.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
ARGF
. class # binmode -> self (24415.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... -
String
# encode(**options) -> String (24406.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
String
# encode(encoding , **options) -> String (24406.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
String
# encode(encoding , from _ encoding , **options) -> String (24406.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
Thread
:: Queue # close -> self (24385.0) -
キューを close します。close 済みのキューを再度 open することはできません。
キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します
また、ClosedQueueError... -
Array
# zip(*lists) -> [[object]] (24376.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Array
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (24376.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Module
# alias _ method(new , original) -> self (24367.0) -
メソッドの別名を定義します。
メソッドの別名を定義します。
//emlist[例][ruby]{
module Kernel
alias_method :hoge, :puts # => Kernel
end
//}
alias との違いは以下の通りです。
* メソッド名は String または Symbol で指定します
* グローバル変数の別名をつけることはできません
また、クラスメソッドに対して使用することはできません。
@param new 新しいメソッド名。String または Symbol で指定します。
@param original 元のメソッド名。String または Symbo... -
IO
# printf(format , *arg) -> nil (24361.0) -
C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。
C 言語の printf と同じように、format に従い引数
を文字列に変換して、self に出力します。
第一引数に IO を指定できないこと、引数を省略できないことを除けば Kernel.#printf と同じです。
@param format Kernel.#printf と同じです。print_format を参照してください。
@param arg Kernel.#printf と同じです。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
@see Ker... -
Array
# union(*other _ arrays) -> Array (24358.0) -
集合の和演算です。self と other_arrays の配列にどれかに含まれる要素を 全て含む新しい配列を返します。重複する要素は取り除かれます。
集合の和演算です。self と other_arrays の配列にどれかに含まれる要素を
全て含む新しい配列を返します。重複する要素は取り除かれます。
要素の重複判定は、Object#eql? と Object#hash により行われます。
@param other_arrays 0個以上の配列を指定します。
//emlist[例][ruby]{
["a", "b", "c"].union([ "c", "d", "a" ]) #=> ["a", "b", "c", "d"]
["a"].union(["e", "b"], ["a", "c", "b"]) #=> ["a"... -
Enumerable
# to _ h(*args) -> Hash (24358.0) -
self を [key, value] のペアの配列として解析した結果を Hash にして 返します。
self を [key, value] のペアの配列として解析した結果を Hash にして
返します。
@param args each の呼び出し時に引数として渡されます。
//emlist[例][ruby]{
%i[hello world].each_with_index.to_h # => {:hello => 0, :world => 1}
//}
ブロックを指定すると各要素でブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
(1..5).to_h {|x| [x, x ** 2]} # => {1=>1, 2=>4, ... -
Enumerable
# to _ h(*args) { . . . } -> Hash (24358.0) -
self を [key, value] のペアの配列として解析した結果を Hash にして 返します。
self を [key, value] のペアの配列として解析した結果を Hash にして
返します。
@param args each の呼び出し時に引数として渡されます。
//emlist[例][ruby]{
%i[hello world].each_with_index.to_h # => {:hello => 0, :world => 1}
//}
ブロックを指定すると各要素でブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
(1..5).to_h {|x| [x, x ** 2]} # => {1=>1, 2=>4, ... -
IO
# puts(*obj) -> nil (24358.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。
各 obj を self に出力し、それぞれの後に改行を出力します。
引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し
てください。
@param obj 出力したいオブジェクトを指定します。Kernel.#puts と同じです。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
$stdout.puts("this", "is", "a", "test", [1, [nil, 3]])
#=>
thi... -
String
# count(*chars) -> Integer (24358.0) -
chars で指定された文字が文字列 self にいくつあるか数えます。
chars で指定された文字が文字列 self にいくつあるか数えます。
検索する文字を示す引数 chars の形式は tr(1) と同じです。
つまり、「"a-c"」は文字 a から c を意味し、
「"^0-9"」のように文字列の先頭が「^」の場合は
指定文字以外を意味します。
文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」は
バックスラッシュ (「\」) によりエスケープできます。
引数を複数指定した場合は、
すべての引数にマッチした文字だけを数えます。
@para... -
String
# delete(*strs) -> String (24358.0) -
self から strs に含まれる文字を取り除いた文字列を生成して返します。
self から strs に含まれる文字を取り除いた文字列を生成して返します。
str の形式は tr(1) と同じです。
つまり、`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外を意味します。
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列の先頭にあるときだけ効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。
@param strs 削除する文字列を... -
String
# end _ with?(*strs) -> bool (24358.0) -
self の末尾が strs のいずれかであるとき true を返します。
self の末尾が strs のいずれかであるとき true を返します。
@param strs パターンを表す文字列 (のリスト)
//emlist[例][ruby]{
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
"string".end_with?("str", "ing") # => true
//}
@see String#start_with?
@see String#delete_suffix, String#delete_s... -
String
# start _ with?(*prefixes) -> bool (24358.0) -
self の先頭が prefixes のいずれかであるとき true を返します。
self の先頭が prefixes のいずれかであるとき true を返します。
@param prefixes パターンを表す文字列または正規表現 (のリスト)
//emlist[例][ruby]{
"string".start_with?("str") # => true
"string".start_with?("ing") # => false
"string".start_with?("ing", "str") # => true
"string".start_with?(/\w/) # => true
"strin... -
Hash
# transform _ values! {|value| . . . } -> self (24349.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
Array
# difference(*other _ arrays) -> Array (24346.0) -
自身から other_arrays の要素を取り除いた配列を生成して返します。
自身から other_arrays の要素を取り除いた配列を生成して返します。
要素の同一性は Object#hash と Object#eql? により評価されます。
self 中で重複していて、other_arrays中に存在していなかった要素は、その重複が保持されます。
新しい配列における要素の順は self における要素の順と同じです。
//emlist[例][ruby]{
[ 1, 1, 2, 2, 3, 3, 4, 5 ].difference([ 1, 2, 4 ]) # => [ 3, 3, 5 ]
[ 1, 'c', :s, 'yep' ].differen... -
Method
# ===(*args) -> object (24346.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
# [](*args) -> object (24346.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 (24346.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 (24346.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... -
Array
# collect! {|item| . . } -> self (24334.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# map! {|item| . . } -> self (24334.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# product(*lists) -> Array (24331.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Module
# using(module) -> self (24331.0) -
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有 効にします。
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有
効にします。
有効にした拡張の有効範囲については以下を参照してください。
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope
@param module 有効にするモジュールを指定します。
@see Module#refine, main.using -
BasicObject
# instance _ exec(*args) {|*vars| . . . } -> object (24328.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... -
Fiber
# resume(*arg = nil) -> object (24328.0) -
自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。
自身が表すファイバーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。
ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。
@param arg self が表すファイバーに渡したいオブジェクトを指定します。
@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。
@raise FiberError 自身が既に終了している場合、コンテキストの切替が
... -
Module
# class _ exec(*args) {|*vars| . . . } -> object (24328.0) -
与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。
与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。
@param args ブロックに渡す引数を指定します。
//emlist[例][ruby]{
class Thing
end
c = 1
Thing.class_exec{
def hello()
"Hello there!"
... -
Module
# module _ exec(*args) {|*vars| . . . } -> object (24328.0) -
与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。
与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。
@param args ブロックに渡す引数を指定します。
//emlist[例][ruby]{
class Thing
end
c = 1
Thing.class_exec{
def hello()
"Hello there!"
... -
Symbol
# capitalize(*options) -> Symbol (24328.0) -
シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更した シンボルを返します。
シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更した
シンボルを返します。
(self.to_s.capitalize.intern と同じです。)
:foobar.capitalize #=> :Foobar
:fooBar.capitalize #=> :Foobar
:FOOBAR.capitalize #=> :Foobar
:"foobar--".capitalize # => "Foobar--"
@see String#capitalize -
Symbol
# downcase(*options) -> Symbol (24328.0) -
大文字を小文字に変換したシンボルを返します。
大文字を小文字に変換したシンボルを返します。
(self.to_s.downcase.intern と同じです。)
:FOO.downcase #=> :foo
@see String#downcase -
Symbol
# swapcase(*options) -> Symbol (24328.0) -
'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までの アルファベット小文字を大文字に変更したシンボルを返します。
'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までの
アルファベット小文字を大文字に変更したシンボルを返します。
(self.to_s.swapcase.intern と同じです。)
p :ABCxyz.swapcase # => :abcXYZ
p :Access.swapcase # => :aCCESS
@see String#swapcase -
Symbol
# upcase(*options) -> Symbol (24328.0) -
小文字を大文字に変換したシンボルを返します。
小文字を大文字に変換したシンボルを返します。
(self.to_s.upcase.intern と同じです。)
:foo.upcase #=> :FOO
@see String#upcase -
Enumerable
# each _ with _ index(*args) -> Enumerator (24313.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、
要素とそのインデックスを繰り返すような
Enumerator を返します。
Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
@param args イテレータメソッド (each など) にそのまま渡されます。
//emlist[例][ruby]{
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
#... -
Numeric
# remainder(other) -> Numeric (24238.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* self > 0 のとき 0 <= r < |other|
* self < 0 のとき -|other| < r <= 0
* q は整数
をみたす数です。r の符号は self と同じになります。
商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
p 13.... -
Array
# bsearch -> Enumerator (24202.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
ます。self はあらかじめソートしておく必要があります。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返... -
Array
# bsearch { |x| . . . } -> object | nil (24202.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
ます。self はあらかじめソートしておく必要があります。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返... -
String
# crypt(salt) -> String (24202.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
Float
# divmod(other) -> [Numeric] (24166.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
self を other で割った商 q と余り r を、
[q, r] という 2 要素の配列にして返します。
商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
このメソッドは、メソッド / と % によって定義されています。
@param other 自身を割る数を指定します。
//emli... -
Numeric
# %(other) -> Numeric (24166.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき 0 <= r < other
* other < 0 のとき other < r <= 0
* q は整数
をみたす数です。
余り r は、other と同じ符号になります。
商 q は、Numeric#div (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
//emlist[... -
Numeric
# div(other) -> Integer (24166.0) -
self を other で割った整数の商 q を返します。
self を other で割った整数の商 q を返します。
ここで、商 q と余り r は、それぞれ
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
商に対応する余りは Numeric#modulo で求められます。
div はメソッド / を呼びだし、floorを取ることで計算されます。
メソッド / の定義はサブクラスごとの定義を用います。
@param other 自身を割る数を... -
Numeric
# divmod(other) -> [Numeric] (24166.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
self を other で割った商 q と余り r を、
[q, r] という 2 要素の配列にして返します。
商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
divmod が返す商は Numeric#div と同じです。
また余りは、Numeric#modulo と同じです。
このメソッド... -
Numeric
# modulo(other) -> Numeric (24166.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき 0 <= r < other
* other < 0 のとき other < r <= 0
* q は整数
をみたす数です。
余り r は、other と同じ符号になります。
商 q は、Numeric#div (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
//emlist[... -
Method
# >>(callable) -> Proc (24148.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。
Method#<< とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
def f(x)
x * x
end
def g(x)
x + x
end
# (3 * 3) + (3 * 3... -
Proc
# >>(callable) -> Proc (24148.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。
Proc#<< とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }
# (3 * 3) + (3 * ... -
String
# %(args) -> String (24136.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10... -
Method
# <<(callable) -> Proc (24130.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。
Method#>> とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
def f(x)
x * x
end
def g(x)
x + x
end
# (3 + 3) * (3 + 3...