別のキーワード
ライブラリ
- ビルトイン (134)
クラス
-
Enumerator
:: Lazy (93) - Range (5)
モジュール
- Enumerable (36)
キーワード
- % (2)
- chunk (24)
-
slice
_ after (22) -
slice
_ before (36) -
slice
_ when (11) - step (3)
-
take
_ while (24)
検索結果
先頭5件
-
Enumerable
# take(n) -> Array (24244.0) -
Enumerable オブジェクトの先頭から n 要素を配列として返します。
...Enumerable オブジェクトの先頭から n 要素を配列として返します。
@param n 要素数を指定します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take(3) # => [1, 2, 3]
//}
@see Array#take... -
Enumerable
# take _ while -> Enumerator (12239.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
...クで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while... -
Enumerable
# take _ while {|element| . . . } -> Array (12239.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
...クで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while... -
Enumerator
:: Lazy # slice _ after(pattern) -> Enumerator :: Lazy (6231.0) -
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
...e#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_after { |e| e % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007fd73980e6f8>:each>>
1.step.lazy.slice_after { |e| e % 3 == 0 }.take(5).force......# => [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]
//}
@see Enumerable#slice_after... -
Enumerator
:: Lazy # slice _ after {|elt| bool } -> Enumerator :: Lazy (6131.0) -
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
...e#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_after { |e| e % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007fd73980e6f8>:each>>
1.step.lazy.slice_after { |e| e % 3 == 0 }.take(5).force......# => [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]
//}
@see Enumerable#slice_after... -
Range
# step(s = 1) {|item| . . . } -> self (3303.0) -
範囲内の要素を s おきに繰り返します。
...。
@param s 次のステップへ遷移するたびに加算されるものを指定します。
@return ブロックを指定した時は self を返します。
@return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@retur......定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10
("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"
(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}......//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (TypeError)
# step は使用可能
(Time.utc(2024, 12, 25)...Time.utc(2024,... -
Enumerator
:: Lazy # slice _ when {|elt _ before , elt _ after| bool } -> Enumerator :: Lazy (3231.0) -
Enumerable#slice_when と同じですが、配列ではなく Enumerator::Lazy を返します。
...配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x00007fce84118348>:each>>
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }.take(5).force
# => [[1, 2], [3......, 4, 5, 6, 7], [8, 9, 10, 11, 12], [13, 14, 15, 16, 17], [18, 19, 20, 21, 22]]
//}
@see Enumerable#slice_when... -
Range
# step(s = 1) -> Enumerator (3203.0) -
範囲内の要素を s おきに繰り返します。
...。
@param s 次のステップへ遷移するたびに加算されるものを指定します。
@return ブロックを指定した時は self を返します。
@return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@retur......定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10
("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"
(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}......//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (TypeError)
# step は使用可能
(Time.utc(2024, 12, 25)...Time.utc(2024,... -
Range
# step(s = 1) -> Enumerator :: ArithmeticSequence (3203.0) -
範囲内の要素を s おきに繰り返します。
...。
@param s 次のステップへ遷移するたびに加算されるものを指定します。
@return ブロックを指定した時は self を返します。
@return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@retur......定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10
("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"
(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}......//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (TypeError)
# step は使用可能
(Time.utc(2024, 12, 25)...Time.utc(2024,... -
Enumerator
:: Lazy # chunk {|elt| . . . } -> Enumerator :: Lazy (3131.0) -
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
...Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.chunk{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007f8bf18118f0>:each>>
1.step.lazy.chunk{ |n| n % 3 == 0 }.take(5).force
# => [[false, [1, 2]], [true, [3]], [false, [4, 5]], [true, [6]],......[false, [7, 8]]]
//}
@see Enumerable#chunk... -
Enumerator
:: Lazy # chunk(initial _ state) {|elt , state| . . . } -> Enumerator :: Lazy (3131.0) -
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
...Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.chunk{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007f8bf18118f0>:each>>
1.step.lazy.chunk{ |n| n % 3 == 0 }.take(5).force
# => [[false, [1, 2]], [true, [3]], [false, [4, 5]], [true, [6]],......[false, [7, 8]]]
//}
@see Enumerable#chunk... -
Enumerator
:: Lazy # slice _ before {|elt| bool } -> Enumerator :: Lazy (3131.0) -
Enumerable#slice_before と同じですが、配列ではなく Enumerator::Lazy を返します。
...すが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_before { |e| e.even? }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x00007f9f31844ce8>:each>>
1.step.lazy.slice_before { |e| e % 3 == 0 }.take(5).force
# => [[1, 2], [3, 4, 5],......[6, 7, 8], [9, 10, 11], [12, 13, 14]]
//}
@see Enumerable#slice_before...