【问题标题】:for-in loop requires 'Int' to conform to 'Sequence'for-in 循环要求 \'Int\' 符合 \'Sequence\'
【发布时间】:2023-01-08 13:34:51
【问题描述】:

我有一个函数 descendingOrder 并输入 number (Int)

func descendingOrder(of number: Int) -> Int {
    var arr = [Int]()
    for n in number{
      arr.append(n)
    }
}

我想从 number 制作一个包含该数字的单个数字的数组。 我有一个错误: for-in 循环要求 'Int' 符合 'Sequence'

有人可以帮我解释一下这个错误是什么意思吗? 谢谢

【问题讨论】:

  • 你能举例说明你期望的输入和输出吗?

标签: swift sequence


【解决方案1】:

如果您希望数字 number 以降序排列为 1,那么您需要:

func descendingOrder(of number: Int) -> [Int] {
    var arr = [Int]()
    for n in stride(from: number, through: 1, by: -1) {
      arr.append(n)
    }

    return arr
}

请注意,我修复了返回值并添加了对return arr 的调用。

语法 for n in number 仅在 numberSequence 时有效,例如,它可以是数组或范围。

如果您想按升序将数字 1 添加到 number,则可以使用:

for n in 1...number {

或者也许(对于 0 到 number - 1):

for n in 0..<number {

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 2018-11-14
    • 2011-07-12
    相关资源
    最近更新 更多