私はSwift3の変更の1つに苦労しています。以前は...
と..<
をRange
と扱っていましたが、今では1トンの新しい「サブレンジ」があります。私は両方の範囲のバリエーションを取る関数を持っていると思います。Swang3の範囲
struct Test {
var data = [1,2,3,4,5]
subscript(r:Range<Int>) -> [Int] {
return Array(data[r])
}
}
let t = Test()
print(t[0...1]) // fails because now this is a ClosedRange
print(t[0..<2])
一方が他方に変換可能であるため、私は、
subscript(r:TakesAnyRange<Int>) -> [Int] {
これはあなたが探しているかもしれません:http://stackoverflow.com/a/40377303/1187415。 –
@MartinR正確:-)私はそれが好きです。コンパイラデザイナーが、少なくとも医師の学位を必要とするもので単純な構造を置き換えたとき> –
@MartinRこれは簡略化された質問ですので、 'subscript'の場合、あなたの解決策は動作しません。別のポインタがありますか? –