func sequence<T, State>(state: State, next: (inout State) -> T?) -> UnfoldSequence<T, State>
next
to a mutable state
.
繰り返しnext
を可変のstate
に遅延適用することから形成されたシーケンスを返します。
first
and repeated lazy applications of next
.
first
からそして繰り返しnext
を遅延適用して形成されたシーケンスを返します。
Availability
Technology
func sequence<T>(first: T, next: @escaping (T) -> T?) -> UnfoldFirstSequence
<T>
first
The first element to be returned from the sequence. このシーケンスから返されることになる最初の要素。
next
A closure that accepts the previous sequence element and returns the next element. あるクロージャ、それは前のシーケンス要素を受け取り、次の要素を返します。
A sequence that starts with first
and continues with every value returned by passing the previous element to next
.
あるシーケンス、それはfirst
で始まり、そして前の要素をnext
に渡すことによって返される値どれもが続きます。
The first element in the sequence is always first
, and each successive element is the result of invoking next
with the previous element. The sequence ends when next
returns nil
. If next
never returns nil
, the sequence is infinite.
このシーケンスでの最初の要素は常にfirst
です、そして続く要素それぞれはnext
を前の要素とともに発動することの結果です。このシーケンスは、next
がnil
を返す時に終わります。next
が決してnil
を返さないならば、 このシーケンスは果てがありません。
This function can be used to replace many cases that were previously handled using C-style for
loops.
この関数は、C形式のfor
ループを使用して前もって取り扱われたケースの多くを置き換えるのに使われることができます。
Example: 例:
func sequence<T, State>(state: State, next: (inout State) -> T?) -> UnfoldSequence<T, State>
next
to a mutable state
.
繰り返しnext
を可変のstate
に遅延適用することから形成されたシーケンスを返します。