ライブラリ
- ビルトイン (260)
クラス
-
ARGF
. class (15) - Array (21)
- Dir (16)
- Enumerator (15)
-
Enumerator
:: Generator (1) -
Enumerator
:: Lazy (16) -
Enumerator
:: Yielder (3) - File (2)
- Hash (16)
- IO (20)
- Module (3)
- Object (6)
-
ObjectSpace
:: WeakMap (4) - Range (3)
- StopIteration (1)
- String (25)
- Struct (4)
- Thread (5)
-
Thread
:: Queue (7) -
Thread
:: SizedQueue (4)
モジュール
- Enumerable (42)
- Kernel (6)
- ObjectSpace (4)
オブジェクト
- ENV (8)
キーワード
-
$ _ (1) -
$ stdin (1) - + (1)
- << (1)
- ARGF (1)
- ConditionVariable (1)
- DATA (1)
- EHOSTUNREACH (1)
- ENETUNREACH (1)
- Enumerable (1)
- Enumerator (1)
- Fiber (1)
- IO (1)
- Lazy (1)
- Proc (1)
- Queue (1)
- Range (1)
- ThreadGroup (1)
- [] (1)
-
append
_ features (1) - bytes (2)
- chars (2)
- children (2)
- chunk (3)
-
chunk
_ while (1) - clear (1)
- close (1)
- closed? (1)
- codepoints (2)
- collect! (2)
-
collect
_ concat (1) - count (3)
-
delete
_ if (2) - deq (2)
- drop (1)
-
each
_ byte (6) -
each
_ char (6) -
each
_ child (6) -
each
_ codepoint (6) -
each
_ cons (2) -
each
_ entry (2) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ key (5) -
each
_ line (12) -
each
_ object (4) -
each
_ pair (7) -
each
_ slice (2) -
each
_ value (5) -
each
_ with _ index (2) -
each
_ with _ object (2) - eager (1)
- entries (1)
-
enum
_ for (4) -
extend
_ object (1) - feed (1)
- filter! (2)
- first (2)
-
flat
_ map (1) - fnmatch (1)
- fnmatch? (1)
- foreach (6)
-
grapheme
_ clusters (2) - inject (3)
-
inplace
_ mode (1) -
instance
_ method (1) - invert (1)
- join (2)
-
keep
_ if (2) - lambda (1)
- length (2)
- lines (2)
- map! (2)
- new (6)
- next (1)
-
next
_ values (1) - pack (2)
- pass (1)
-
peek
_ values (1) - pop (2)
- pos (1)
- proc (1)
- reduce (3)
- rehash (1)
- reject! (2)
-
respond
_ to? (1) - result (1)
-
reverse
_ each (4) - rewind (1)
- select! (2)
- shift (2)
- size (2)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - sum (3)
- take (1)
-
take
_ while (2) - tell (1)
- test (2)
-
to
_ a (1) -
to
_ enum (4) -
to
_ h (2) -
to
_ proc (1) - unpack (1)
- upto (1)
- value (1)
-
with
_ index (2) -
with
_ object (2) - yield (1)
- zip (4)
検索結果
先頭5件
-
Hash
# each -> Enumerator (78511.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、無しで呼ばれた場合 [c:Enumerator] を返します。
each_pair は each のエイリアスです。
```ruby title="例"
{:a=>1, :b=>2}.each {|a| p a}
# => [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
# => [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # =... -
Hash
# each {|key , value| . . . } -> self (78511.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、無しで呼ばれた場合 [c:Enumerator] を返します。
each_pair は each のエイリアスです。
```ruby title="例"
{:a=>1, :b=>2}.each {|a| p a}
# => [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
# => [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # =... -
Enumerator
# each -> self (78493.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
- **param** `args` -- 末尾へ追加する引数
```ruby title="例1"
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
p enum.each {|word| p word } ... -
Enumerator
# each { . . . } -> object (78493.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
- **param** `args` -- 末尾へ追加する引数
```ruby title="例1"
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
p enum.each {|word| p word } ... -
Enumerator
# each(*args) -> Enumerator (78493.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
- **param** `args` -- 末尾へ追加する引数
```ruby title="例1"
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
p enum.each {|word| p word } ... -
Enumerator
# each(*args) { . . . } -> object (78493.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
- **param** `args` -- 末尾へ追加する引数
```ruby title="例1"
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
p enum.each {|word| p word } ... -
IO
# each(limit , chomp: false) -> Enumerator (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each(limit , chomp: false) {|line| . . . } -> self (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each(rs = $ / , chomp: false) -> Enumerator (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each(rs = $ / , chomp: false) {|line| . . . } -> self (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each(rs , limit , chomp: false) -> Enumerator (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each(rs , limit , chomp: false) {|line| . . . } -> self (78391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
Array
# each -> Enumerator (78379.0) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
[c:Enumerator] オブジェクトを返します。
```ruby title="例"
[1, 2, 3].each do |i|
puts i
end
# => 1
# 2
# 3
```
- **SEE** [m:Array#each_index], [m:Array#reverse_each] -
Array
# each {|item| . . . . } -> self (78379.0) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
[c:Enumerator] オブジェクトを返します。
```ruby title="例"
[1, 2, 3].each do |i|
puts i
end
# => 1
# 2
# 3
```
- **SEE** [m:Array#each_index], [m:Array#reverse_each] -
Range
# each -> Enumerator (78361.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
- **raise** `TypeError` -- succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
```ruby title="例"
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate f... -
Range
# each {|item| . . . } -> self (78361.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
- **raise** `TypeError` -- succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
```ruby title="例"
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate f... -
Dir
# each -> Enumerator (78343.0) -
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator]
オブジェクトを返します。
- **raise** `IOError` -- 既に自身が close している場合に発生します。
```ruby title="例"
Dir.open('.').each{|f|
p f
}
# => "."
# ".."
# "bar"
# "foo"
```
- **SEE** [m:Dir#each_child] -
Dir
# each {|item| . . . } -> self (78343.0) -
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator]
オブジェクトを返します。
- **raise** `IOError` -- 既に自身が close している場合に発生します。
```ruby title="例"
Dir.open('.').each{|f|
p f
}
# => "."
# ".."
# "bar"
# "foo"
```
- **SEE** [m:Dir#each_child] -
ARGF
. class # each(rs = $ / ) -> Enumerator (78334.0) -
{: since=""}
{: since=""} -
ARGF
. class # each(rs = $ / ) { |line| . . . } -> self (78334.0) -
{: since=""}
{: since=""} -
ARGF
. class # each(rs = $ / , limit) -> Enumerator (78334.0) -
{: since=""}
{: since=""} -
ARGF
. class # each(rs = $ / , limit) { |line| . . . } -> self (78334.0) -
{: since=""}
{: since=""} -
ENV
. each -> Enumerator (78331.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
``` -
ENV
. each {|key , value| . . . } -> self (78331.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
``` -
Struct
# each -> Enumerator (78325.0) -
構造体の各メンバに対して繰り返します。
構造体の各メンバに対して繰り返します。
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に注意してください。
```ruby title="例"
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }
# => Joe Smith
# 123 Maple... -
Struct
# each {|value| . . . } -> self (78325.0) -
構造体の各メンバに対して繰り返します。
構造体の各メンバに対して繰り返します。
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に注意してください。
```ruby title="例"
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }
# => Joe Smith
# 123 Maple... -
ObjectSpace
:: WeakMap # each {|key , value| . . . } -> self (78322.0) -
{: since="2.1.0"}
{: since="2.1.0"} -
Enumerator
:: Generator # each(*args) { . . . } -> object (78304.0) -
{: since="1.9.1"}
{: since="1.9.1"}
[m:Enumerator.new] で使われるメソッドです。
新しく生成した [c:Enumerator::Yielder] オブジェクトを先頭に、それ以降に引数 args
を続けたものを引数として、[m:Enumerator.new] に渡したブロックを実行します。
ブロックの実行結果をそのまま返します。 -
Hash
# each _ pair -> Enumerator (42511.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、無しで呼ばれた場合 [c:Enumerator] を返します。
each_pair は each のエイリアスです。
```ruby title="例"
{:a=>1, :b=>2}.each {|a| p a}
# => [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
# => [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # =... -
Hash
# each _ pair {|key , value| . . . } -> self (42511.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、無しで呼ばれた場合 [c:Enumerator] を返します。
each_pair は each のエイリアスです。
```ruby title="例"
{:a=>1, :b=>2}.each {|a| p a}
# => [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
# => [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # =... -
ObjectSpace
. # each _ object -> Enumerator (42421.0) -
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
[c:Enumerator] オブジェクトを返します。
次のオブジェクトについては繰り返しません
- 即値の [c:Integer] オブジェクト(ヒープ上に確保される大きな整数は繰り返します)
- Flonum(即値の [c:Float] オブジェクト)
- 静的な [c:Symbol] オブジェクト(動的に生成されたシンボルは繰り返します)... -
ObjectSpace
. # each _ object {|object| . . . } -> Integer (42421.0) -
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
[c:Enumerator] オブジェクトを返します。
次のオブジェクトについては繰り返しません
- 即値の [c:Integer] オブジェクト(ヒープ上に確保される大きな整数は繰り返します)
- Flonum(即値の [c:Float] オブジェクト)
- 静的な [c:Symbol] オブジェクト(動的に生成されたシンボルは繰り返します)... -
ObjectSpace
. # each _ object(klass) -> Enumerator (42421.0) -
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
[c:Enumerator] オブジェクトを返します。
次のオブジェクトについては繰り返しません
- 即値の [c:Integer] オブジェクト(ヒープ上に確保される大きな整数は繰り返します)
- Flonum(即値の [c:Float] オブジェクト)
- 静的な [c:Symbol] オブジェクト(動的に生成されたシンボルは繰り返します)... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (42421.0) -
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と [m:Object#kind_of?] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
[c:Enumerator] オブジェクトを返します。
次のオブジェクトについては繰り返しません
- 即値の [c:Integer] オブジェクト(ヒープ上に確保される大きな整数は繰り返します)
- Flonum(即値の [c:Float] オブジェクト)
- 静的な [c:Symbol] オブジェクト(動的に生成されたシンボルは繰り返します)... -
Enumerable
# each _ entry -> Enumerator (42415.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
each とは異なり、一要素として複数の値が渡された場合でも、それらをまとめて一つの配列としてブロックに渡します。
each の場合は、ブロックの引数が一つだけならば、複数の値のうち最初の値だけが渡されます。
```ruby title="例:each との違い"
class Foo
include Enumerable
def each
yield 1
yield 1, 2
end
end
Foo.new.each{|o| print o.inspect, " -- "}
# => 1 -- 1 --
Foo.new.... -
Enumerable
# each _ entry {|obj| block} -> self (42415.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
each とは異なり、一要素として複数の値が渡された場合でも、それらをまとめて一つの配列としてブロックに渡します。
each の場合は、ブロックの引数が一つだけならば、複数の値のうち最初の値だけが渡されます。
```ruby title="例:each との違い"
class Foo
include Enumerable
def each
yield 1
yield 1, 2
end
end
Foo.new.each{|o| print o.inspect, " -- "}
# => 1 -- 1 --
Foo.new.... -
Hash
# each _ key -> Enumerator (42397.0) -
ハッシュのキーを引数としてブロックを評価します。
ハッシュのキーを引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、無しで呼ばれた場合[c:Enumerator]を返します。
```ruby title="例"
{:a=>1, :b=>2}.each_key {|k| p k}
# => :a
# :b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
```
- **SEE** [m:Hash#each_pair],[m:Hash#each_value] -
Hash
# each _ key {|key| . . . } -> self (42397.0) -
ハッシュのキーを引数としてブロックを評価します。
ハッシュのキーを引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、無しで呼ばれた場合[c:Enumerator]を返します。
```ruby title="例"
{:a=>1, :b=>2}.each_key {|k| p k}
# => :a
# :b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
```
- **SEE** [m:Hash#each_pair],[m:Hash#each_value] -
Hash
# each _ value -> Enumerator (42397.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、無しで呼ばれた場合 [c:Enumerator] を返します。
```ruby title="例"
{:a=>1, :b=>2}.each_value {|v| p v}
# => 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
```
- **SEE** [m:Hash#each_pair],[m:Hash#each_key] -
Hash
# each _ value {|value| . . . } -> self (42397.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、無しで呼ばれた場合 [c:Enumerator] を返します。
```ruby title="例"
{:a=>1, :b=>2}.each_value {|v| p v}
# => 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
```
- **SEE** [m:Hash#each_pair],[m:Hash#each_key] -
ObjectSpace
:: WeakMap # each _ pair {|key , value| . . . } -> self (42397.0) -
{: since="2.1.0"}
{: since="2.1.0"}
保持しているエントリの参照元オブジェクトと参照先オブジェクトを引数としてブロックを評価します。
GC によって参照先が回収されたエントリは反復の対象になりません。反復の順序は不定です。
[c:Hash] など他の反復可能なクラスと異なり、ブロックを省略しても [c:Enumerator] は返しません。エントリが1つ以上ある状態でブロックを指定せずに呼び出すと
LocalJumpError が発生します。
each_pair は each のエイリアスです。
```ruby title="例"
weak_map = ObjectSpace::Wea... -
IO
# each _ line(limit , chomp: false) -> Enumerator (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each _ line(limit , chomp: false) {|line| . . . } -> self (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each _ line(rs = $ / , chomp: false) -> Enumerator (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each _ line(rs , limit , chomp: false) -> Enumerator (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
IO
# each _ line(rs , limit , chomp: false) {|line| . . . } -> self (42391.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
- **param** `rs` -- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなし... -
ARGF
. class # each _ char -> Enumerator (42379.0) -
{: since=""}
{: since=""}
レシーバに含まれる文字を一文字ずつブロックに渡して評価します。
このメソッドはスクリプトに指定した引数([m:Object::ARGV] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1文字についてファイル名を得るには
[m:ARGF.class#filename] を使用します。
ブロックが与えられなかった場合は、[c:Enumerator] オブジェクトを生成して返します。
```ruby title="例"
# ... -
ARGF
. class # each _ line(rs = $ / , limit) -> Enumerator (42379.0) -
{: since=""}
{: since=""}
ARGFの現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、[c:Enumerator] オブジェクトを生成して返します。
このメソッドはスクリプトに指定した引数([m:Object::ARGV] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在の行についてファイル名や行数を得るには
[m:ARGF.class#filename] と [m:ARGF... -
Array
# each _ index -> Enumerator (42379.0) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
```ruby title="例"
(0 ... ary.size).each do |index|
# ....
end
```
ブロックが与えられなかった場合は、自身と each_index から生成した
[c:Enumerator] オブジェクトを返します。
- **SEE** [m:Array#each], [m:Array#reverse_each] -
Array
# each _ index {|index| . . . . } -> self (42379.0) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
```ruby title="例"
(0 ... ary.size).each do |index|
# ....
end
```
ブロックが与えられなかった場合は、自身と each_index から生成した
[c:Enumerator] オブジェクトを返します。
- **SEE** [m:Array#each], [m:Array#reverse_each] -
Enumerable
# each _ with _ index(*args) -> Enumerator (42379.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、要素とそのインデックスを繰り返すような
[c:Enumerator] を返します。
[m:Enumerator#with_index] は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
- **param** `args` -- イテレータメソッド (each など) にそのまま渡されます。
```ruby title="例"
[5, 10, 15].each_with_index do |n, idx|
... -
Enumerable
# each _ with _ index(*args) {|item , index| . . . } -> self (42379.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、要素とそのインデックスを繰り返すような
[c:Enumerator] を返します。
[m:Enumerator#with_index] は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
- **param** `args` -- イテレータメソッド (each など) にそのまま渡されます。
```ruby title="例"
[5, 10, 15].each_with_index do |n, idx|
... -
ARGF
. class # each _ codepoint -> Enumerator (42361.0) -
{: since="1.9.3"}
{: since="1.9.3"}
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、[c:Enumerator] を返します。
```ruby title="例"
# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt
# test.rb
p ARGF.each_codepoint # => #<Enumer... -
Array
# reverse _ each -> Enumerator (42361.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
[c:Enumerator] オブジェクトを返します。
```ruby title="例"
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
```
- **SEE** [m:Array#each] -
Array
# reverse _ each {|item| . . . } -> self (42361.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
[c:Enumerator] オブジェクトを返します。
```ruby title="例"
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
```
- **SEE** [m:Array#each] -
Dir
# each _ child -> Enumerator (42361.0) -
ディレクトリの "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリの "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator]
オブジェクトを返します。
- **raise** `IOError` -- 既に self が close している場合に発生します。
```ruby title="例"
Dir.open('.').each_child{|f|
p f
}
# => "bar"
# "foo"
```
- **SEE** [m:Dir#each]
- **SEE** [m:Dir.each_c... -
Dir
# each _ child {|item| . . . } -> self (42361.0) -
ディレクトリの "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリの "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator]
オブジェクトを返します。
- **raise** `IOError` -- 既に self が close している場合に発生します。
```ruby title="例"
Dir.open('.').each_child{|f|
p f
}
# => "bar"
# "foo"
```
- **SEE** [m:Dir#each]
- **SEE** [m:Dir.each_c... -
String
# each _ grapheme _ cluster -> Enumerator (42361.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
[m:String#each_char] と違って、
Unicode Standard Annex #29 (<https://unicode.org/reports/tr29/>)
で定義された書記素クラスタに対して繰り返します。
```ruby title="例"
p "a\u0300".each_char.to_a.size # => 2
p "a\u0300".each_grapheme_cluster.to_a.size # => 1
```
- **SEE** [m:String#grapheme_clusters] -
String
# each _ grapheme _ cluster {|grapheme _ cluster| block } -> self (42361.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
[m:String#each_char] と違って、
Unicode Standard Annex #29 (<https://unicode.org/reports/tr29/>)
で定義された書記素クラスタに対して繰り返します。
```ruby title="例"
p "a\u0300".each_char.to_a.size # => 2
p "a\u0300".each_grapheme_cluster.to_a.size # => 1
```
- **SEE** [m:String#grapheme_clusters] -
ObjectSpace
:: WeakMap # each _ key {|key| . . . } -> self (42358.0) -
{: since="2.1.0"}
{: since="2.1.0"}
保持しているエントリの参照元オブジェクトを引数としてブロックを評価します。
GC によって参照先が回収されたエントリは反復の対象になりません。反復の順序は不定です。
[c:Hash] など他の反復可能なクラスと異なり、ブロックを省略しても [c:Enumerator] は返しません。エントリが1つ以上ある状態でブロックを指定せずに呼び出すと
LocalJumpError が発生します。
```ruby title="例"
weak_map = ObjectSpace::WeakMap.new
key = "text"
weak_map[key] = ... -
ObjectSpace
:: WeakMap # each _ value {|value| . . . } -> self (42358.0) -
{: since="2.1.0"}
{: since="2.1.0"}
保持しているエントリの参照先オブジェクトを引数としてブロックを評価します。
GC によって参照先が回収されたエントリは反復の対象になりません。反復の順序は不定です。
[c:Hash] など他の反復可能なクラスと異なり、ブロックを省略しても [c:Enumerator] は返しません。エントリが1つ以上ある状態でブロックを指定せずに呼び出すと
LocalJumpError が発生します。
```ruby title="例"
weak_map = ObjectSpace::WeakMap.new
key = "text"
weak_map[key] = ... -
Dir
. each _ child(path) -> Enumerator (42349.0) -
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise... -
Dir
. each _ child(path) {|file| . . . } -> nil (42349.0) -
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise... -
Dir
. each _ child(path , encoding: enc) -> Enumerator (42349.0) -
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise... -
Dir
. each _ child(path , encoding: enc) {|file| . . . } -> nil (42349.0) -
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise... -
ARGF
. class # each _ byte -> Enumerator (42343.0) -
{: since=""}
{: since=""}
ARGF の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロック引数byteは0..255のいずれかの整数です。
このメソッドはスクリプトに指定した引数([m:Object::ARGV] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1バイトについてファイル名を得るには
[m:ARGF.class#filename] を使用します。
ブロックが与えられなかった場合は、[c:Enum... -
Enumerable
# each _ cons(n) -> Enumerator (42343.0) -
要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
ブロックを省略した場合は重複ありで
n 要素ずつ繰り返す [c:Enumerator] を返します。
- **param** `n` -- ブロックに渡す要素の数です。正の整数を与えます。
要素数より大きな数を与えると、ブロックは一度も実行されません。
```ruby title="例"
(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
... -
Enumerable
# each _ cons(n) {|list| . . . } -> nil (42343.0) -
要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
ブロックを省略した場合は重複ありで
n 要素ずつ繰り返す [c:Enumerator] を返します。
- **param** `n` -- ブロックに渡す要素の数です。正の整数を与えます。
要素数より大きな数を与えると、ブロックは一度も実行されません。
```ruby title="例"
(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
... -
Enumerable
# each _ slice(n) -> Enumerator (42343.0) -
n 要素ずつブロックに渡して繰り返します。
n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
ブロックを省略した場合は
n 要素ずつ繰り返す [c:Enumerator] を返します。
- **param** `n` -- 区切る要素数を示す整数です。
```ruby title="例"
(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]
```
- **SEE** [m:Enumerable#each_co... -
Enumerable
# each _ slice(n) {|list| . . . } -> nil (42343.0) -
n 要素ずつブロックに渡して繰り返します。
n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
ブロックを省略した場合は
n 要素ずつ繰り返す [c:Enumerator] を返します。
- **param** `n` -- 区切る要素数を示す整数です。
```ruby title="例"
(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]
```
- **SEE** [m:Enumerable#each_co... -
Enumerable
# reverse _ each -> Enumerator (42343.0) -
逆順に各要素に対してブロックを評価します。
逆順に各要素に対してブロックを評価します。
内部で各要素を保持した配列を作ります。
ブロックを省略した場合は、各要素を逆順に辿る
[c:Enumerator] を返します。
```ruby title="例"
{a: 1, b: 2, c: 3}.reverse_each # => #<Enumerator: ...>
{a: 1, b: 2, c: 3}.reverse_each { |v| p v }
# => [:c, 3]
# [:b, 2]
# [:a, 1]
``` -
Enumerable
# reverse _ each {|element| . . . } -> self (42343.0) -
逆順に各要素に対してブロックを評価します。
逆順に各要素に対してブロックを評価します。
内部で各要素を保持した配列を作ります。
ブロックを省略した場合は、各要素を逆順に辿る
[c:Enumerator] を返します。
```ruby title="例"
{a: 1, b: 2, c: 3}.reverse_each # => #<Enumerator: ...>
{a: 1, b: 2, c: 3}.reverse_each { |v| p v }
# => [:c, 3]
# [:b, 2]
# [:a, 1]
``` -
String
# each _ byte -> Enumerator (42343.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
```ruby title="例"
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
```
- **SEE** [m:String#bytes] -
String
# each _ byte {|byte| . . . } -> self (42343.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
```ruby title="例"
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
```
- **SEE** [m:String#bytes] -
String
# each _ codepoint -> Enumerator (42343.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては各文字のバイナリ表現由来の値になります。
```ruby title="例"
p "hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
p "hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32,... -
String
# each _ codepoint {|codepoint| block } -> self (42343.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては各文字のバイナリ表現由来の値になります。
```ruby title="例"
p "hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
p "hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32,... -
ARGF
. class # each _ line(rs = $ / ) -> Enumerator (42334.0) -
{: since=""}
{: since=""} -
ARGF
. class # each _ line(rs = $ / ) { |line| . . . } -> self (42334.0) -
{: since=""}
{: since=""} -
ARGF
. class # each _ line(rs = $ / , limit) { |line| . . . } -> self (42334.0) -
{: since=""}
{: since=""} -
ENV
. each _ pair -> Enumerator (42331.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
``` -
ENV
. each _ pair {|key , value| . . . } -> self (42331.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
``` -
ENV
. each _ key -> Enumerator (42325.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
``` -
ENV
. each _ key {|key| . . . } -> self (42325.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
```ruby
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
``` -
Enumerable
# each _ with _ object(obj) -> Enumerator (42325.0) -
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
ブロックを省略した場合は [c:Enumerator] を返します。
- **param** `obj` -- 任意のオブジェクトを指定します。
```ruby title="例"
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
```
- **SEE** [m:Enumerator#with_object] -
Enumerable
# each _ with _ object(obj) {|(*args) , memo _ obj| . . . } -> object (42325.0) -
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
ブロックを省略した場合は [c:Enumerator] を返します。
- **param** `obj` -- 任意のオブジェクトを指定します。
```ruby title="例"
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
```
- **SEE** [m:Enumerator#with_object] -
IO
# each _ byte -> Enumerator (42325.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
- **raise** `IOError` -- 自身が読み込み用にオープンされていなければ発生します。
```ruby title="例"
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
... -
IO
# each _ byte {|ch| . . . } -> self (42325.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[c:Enumerator] オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
- **raise** `IOError` -- 自身が読み込み用にオープンされていなければ発生します。
```ruby title="例"
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
... -
IO
# each _ char -> Enumerator (42325.0) -
self に含まれる文字を一文字ずつブロックに渡して評価します。
self に含まれる文字を一文字ずつブロックに渡して評価します。
self は読み込み用にオープンされていなければなりません。
ブロックを省略した場合は各文字について繰り返す [c:Enumerator] を返します。
- **raise** `IOError` -- self が読み込み用にオープンされていない場合に発生します。
```ruby
f = File.new("testfile")
p f.each_char {|c| print c, ' ' } # => #<File:testfile>
``` -
IO
# each _ char {|c| . . . } -> self (42325.0) -
self に含まれる文字を一文字ずつブロックに渡して評価します。
self に含まれる文字を一文字ずつブロックに渡して評価します。
self は読み込み用にオープンされていなければなりません。
ブロックを省略した場合は各文字について繰り返す [c:Enumerator] を返します。
- **raise** `IOError` -- self が読み込み用にオープンされていない場合に発生します。
```ruby
f = File.new("testfile")
p f.each_char {|c| print c, ' ' } # => #<File:testfile>
``` -
IO
# each _ codepoint -> Enumerator (42325.0) -
IO の各コードポイントに対して繰り返しブロックを呼びだします。
IO の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、[c:Enumerator] を返します。
```ruby title="例"
IO.write("testfile", "abcdeあ")
File.open("testfile") do |f|
f.each_codepoint { |i| p i }
end
# => 97
# 98
# 99
# 100
# 101
# 12354
``` -
IO
# each _ codepoint {|c| . . . } -> self (42325.0) -
IO の各コードポイントに対して繰り返しブロックを呼びだします。
IO の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、[c:Enumerator] を返します。
```ruby title="例"
IO.write("testfile", "abcdeあ")
File.open("testfile") do |f|
f.each_codepoint { |i| p i }
end
# => 97
# 98
# 99
# 100
# 101
# 12354
``` -
String
# each _ char -> Enumerator (42325.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
```ruby
"hello世界".each_char {|c| print c, ' ' }
```
は次のように出力されます。
```text
h e l l o 世 界
```
- **SEE** [m:String#chars] -
String
# each _ char {|cstr| block } -> self (42325.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
```ruby
"hello世界".each_char {|c| print c, ' ' }
```
は次のように出力されます。
```text
h e l l o 世 界
```
- **SEE** [m:String#chars] -
String
# each _ line(rs = $ / , chomp: false) -> Enumerator (42325.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、そのデフォルト値は変数 [m:$/] の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、そのデフォルト値は変数 [m:$/] の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
- **param** `rs` -- 行末を示す文字列
- **param** `chomp` -- true を指定すると各行の末尾から rs を取り除きます。
```ruby title="例"... -
String
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (42325.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、そのデフォルト値は変数 [m:$/] の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、そのデフォルト値は変数 [m:$/] の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
- **param** `rs` -- 行末を示す文字列
- **param** `chomp` -- true を指定すると各行の末尾から rs を取り除きます。
```ruby title="例"... -
Struct
# each _ pair -> Enumerator (42325.0) -
構造体のメンバ名([c:Symbol])と値の組を引数にブロックを繰り返し実行します。
構造体のメンバ名([c:Symbol])と値の組を引数にブロックを繰り返し実行します。
```ruby title="例"
Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
# [:bar, "BAR"]
```
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に注意してください。 -
Struct
# each _ pair {|member , value| . . . } -> self (42325.0) -
構造体のメンバ名([c:Symbol])と値の組を引数にブロックを繰り返し実行します。
構造体のメンバ名([c:Symbol])と値の組を引数にブロックを繰り返し実行します。
```ruby title="例"
Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
# [:bar, "BAR"]
```
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に注意してください。 -
ARGF
. class # each _ char { |c| . . . } -> self (42319.0) -
{: since=""}
{: since=""} -
Dir
. foreach(path) -> Enumerator (42319.0) -
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX`...
