当前位置: 首页 > 面试题库 >

无法在end之前形成范围

简学文
2023-03-14
本文向大家介绍无法在end之前形成范围相关面试题,主要包含被问及无法在end之前形成范围时的应答技巧和注意事项,需要的朋友参考一下

如果只想遍历集合,请使用for <element> in <collection>语法。

for element in arr {
    // do something with element
}

如果还需要在每次迭代时访问元素的索引,则可以使用enumerate()。由于索引基于零,因此索引将具有range
0..<arr.count

for (index, element) in arr.enumerate() {

    // do something with index & element

    // if you need the position of the element (1st, 2nd 3rd etc), then do index+1
    let position = index+1
}

您始终可以在每次迭代时向索引添加一个,以访问位置(获得的范围1..<arr.count+1)。

如果这些方法都不能解决您的问题,那么您可以使用范围0..<arr.count对数组的索引进行迭代,或者如@vacawama所说,可以使用范围1..<arr.count+1对位置进行迭代。

for index in 0..<arr.count {

    // do something with index
}
for position in 1..<arr.count+1 {

    // do something with position
}

0..<0不能为空数组而崩溃,就像0..<0只是一个空范围一样,1..<arr.count+1也不能为空数组而崩溃,1..<1也像一个空范围一样。

另请参阅@ vacawama的评论如下有关使用stride安全地做更多的自定义范围。例如(Swift 2语法):

let startIndex = 4
for i in startIndex.stride(to: arr.count, by: 1) {
    // i = 4, 5, 6, 7 .. arr.count-1
}

Swift 3语法:

for i in stride(from: 4, to: arr.count, by: 1) {
    // i = 4, 5, 6, 7 .. arr.count-1
}

这是startIndex开始该范围arr.count的数字,是该范围将保持在其下方的数字,并且1是步幅。如果数组中的元素少于给定的起始索引,则将永远不会进入循环



 类似资料:
  • 我试图创建一个Lambda函数和Lambda TriggeronSQS。下面是我的云形成模板- } 我尝试通过AWS控制台创建堆栈,但收到以下创建SQS策略的错误 检测到1个验证错误:“eventSourceArn”处的值“arn:aws:sqs:ap-south-1:219560220147:testlambda”未能满足约束:成员必须满足正则表达式模式:arn:(aws[a-zA-Z0-9-]

  • 实际上,我正在尝试创建一个应用程序,有n个多媒体文件,其中包括图像和视频。我的应用程序大小大约为,我的资产大小大约为。当我在普通设备上加载应用程序时,我们没有遇到任何问题,但在具有的设备上,如等,应用程序在过程中崩溃,错误是“内存不足”。我已经用这个生成了错误报告。我也尝试过位图工厂。同时,我使用了数组的视频方法。 有谁能帮助解决这个问题吗? 致命异常:主进程:com.example.we.app

  • 我在visual studio C #中使用selenium处理ExtentReports,我运行了案例测试,但是报告文件。我在解决方案资源管理器中创建的报表文件夹中没有生成html。不知道问题出在哪里,我改了报告文件的路径去查,还是不生成。以下是我的代码: 和extent-config.xml:

  • End-To-End 是雅虎邮箱里用的基于 OpenPGP 的加密技术。

  • 问题内容: Mockito似乎是一个非常漂亮的Java存根/模拟框架。唯一的问题是,我找不到有关使用其API的最佳方法的任何具体文档。测试中常用的方法包括: 在实践中看到Mockito的示例时,您将看到类似以下的代码: 从我阅读的所有文档中,我已经确定了通过菊花链将这些方法调用链接在一起而获得的Mockito“语法”的几种“模式”,就像上面的示例一样。我发现的一些常见模式是: 什么时候/然后: w

  • 问题内容: 我正在尝试在Swift 3中建立一个我已经在Swift 2中拥有的范围,但是它一直给我这个错误: 这是我的代码: expiredRange是一个 在Swift 2中,我有: 问题答案: 在Swift 3中,“集合移动其索引”,请参阅 关于Swift进化的集合和索引的新模型。 这是字符串范围和索引的示例: 的 在字符串上调用方法,以从范围(现在具有属性而不是 )中计算新索引。