[swift-users] Cannot invoke 'stride' with an argument list of type '(from: Int, to: Int, by: Int)'

Zhao Xin owenzx at gmail.com
Tue Jul 5 00:37:59 CDT 2016


In Swift 3,

func stride<T : Strideable <apple-reference-documentation://hsYF4ATMnE>>(
from start: T, to end: T, by stride: T.Stride) -> StrideTo
<apple-reference-documentation://hs9b7RwjpY><T>

Int does not conform to Strideable.

Adopted By

CGFloat
Decimal
Double
Float
Float80
String.UTF16View.Index
UnsafeMutablePointer
UnsafePointer

​In Swift 2.2,

@warn_unused_result func stride(to *end*: Self, by *stride*: Self.Stride)
-> StrideTo
<file:///Users/zhaoxin/Library/Developer/Shared/Documentation/DocSets/com.apple.adc.documentation.OSX.docset/Contents/Resources/Documents/documentation/Swift/Reference/Swift_StrideTo_Structure/index.html#//apple_ref/swift/struct/s:Vs8StrideTo>
<Self>

It uses Self, which means the type of the variable, instead of T.

Zhaoxin

On Tue, Jul 5, 2016 at 11:41 AM, Adriano Ferreira via swift-users <
swift-users at swift.org> wrote:

> Hi everyone!
>
> I’m converting some code to Swift 3 and got this issue?
>
>
>
>
> Does anybody know what’s going on?
>
> Here’s the code, before and after conversion:
>
>
> // Swift 2.2
> extension Int {
>
>     // Repeat a block of code from `self` up to a limit
>     func up(to upper: Int, by step: Int = 1, @noescape closure: () -> Void)
> {
>
>         for _ in self.stride(to: upper, by: step) {
>             closure()
>         }
>     }
> }
>
> // Swift 3
> extension Int {
>
>     // Repeat a block of code from `self` up to a limit
>     func up(to upper: Int, by step: Int = 1, _ closure: @noescape () ->
> Void) {
>
>         for _ in stride(from: self, to: upper, by: step) {
>             closure()
>         }
>     }
> }
>
>
> // Usage
> 1.up(to: 10, by: 2) {
>     print("Hi!")
> }
>
>
> Best,
>
> — A
>
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160705/0ec7bce3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2016-07-04 at 11.30.45 PM.png
Type: image/png
Size: 54973 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160705/0ec7bce3/attachment.png>


More information about the swift-users mailing list