Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从给定的数字中获取范围索引值_Ios_Swift - Fatal编程技术网

Ios 如何从给定的数字中获取范围索引值

Ios 如何从给定的数字中获取范围索引值,ios,swift,Ios,Swift,如何获取范围中包含的值的索引 var rangeValue = 30 ... 400 范围值[7]。//七个索引值36 let rangeValue = Array(30 ... 400) rangeValue[7] 严格地说,你可以在一个范围内下标,但它相当麻烦 let rangeValue = 30...400 let index = rangeValue.index(rangeValue.startIndex, offsetBy: 7) let value = rangeValue

如何获取范围中包含的值的索引

var rangeValue = 30 ... 400
范围值[7]。//七个索引值36

 let rangeValue = Array(30 ... 400)
 rangeValue[7]

严格地说,你可以在一个范围内下标,但它相当麻烦

let rangeValue = 30...400
let index = rangeValue.index(rangeValue.startIndex, offsetBy: 7)
let value = rangeValue[index]
顺便说一下,第七个指数的值是37


或者在没有订阅的情况下语法更简单(灵感来自Asperi的回答)


我会通过对带有下标的
ClosedRange
的小扩展来实现(在操场上测试,所以任何人都可以复制粘贴)


你的题目和问题也是对立的。你想从值中得到索引还是从索引中得到值?@matt我需要从索引中得到值。@matt谢谢你的帮助。如果能更好地解释你为什么认为你需要这个,我不知道这个问题与kg/lb有什么关系。请问一下你想解决的真正问题。与其
Bound==Int
不如推广到所有
绑定:AdditiveArithmetic
。另外,不要忘记检查<代码>上界> /COD>“溢出”。这可能意外地给出正确的答案,但你没有索引,只是添加了两个整数。@ Matt,我们考虑整数的闭合序列范围…请举一个例子,当这是错误的,如果你要这样争论,你应该争论,原来的问题是没有意义的,因为没有必要索引任何东西。
let rangeValue = 30...400
let value = rangeValue.lowerBound + 7
var rangeValue = 30 ... 400

extension ClosedRange where Bound == Int {
    public subscript(index: Int) -> Int {
        return self.lowerBound + index
    }
}

rangeValue[7] // and this call is valid & gives 37