2016-03-28 7 views
1

をコンパイルしません、私はUINT変数のストライド()関数を使用しようとしていますが、コードはコンパイルされません。スウィフト2.2のUINTのストライド()を使用して

let s = UInt(1) 
let by = UInt(2) 
let to = UInt(10) 

for i: UInt in s.stride(to: to, by: by) { 

} 

をコンパイルエラーは次のとおりです。

それが可能であることを述べ、スウィフト2.2 DOC

を:http://swiftdoc.org/v2.2/type/UInt/#func-stride-to_by_

は '(UINT:によってUINTに)' タイプの引数リストで 'ストライド' を起動することはできません

速いバグですか、何か間違っていますか?

答えて

3

https://github.com/apple/swift/blob/master/stdlib/public/core/Stride.swiftでは、

UnsignedIntegerTypesすべてが署名したストライドの種類を持っていることが述べられています。

それ以外の場合は、大きい番号から小さい番号に反復することは不可能なので意味があります。

したがって、あなたの場合には、それは

let by = Int(2) 

か、単に

let by = 2 
する必要があります
関連する問題