ObjC/Swift Swift 里面的 `==` 有些奇怪的行为,明白的请帮忙解释一下...

blacktulip · July 06, 2014 · Last by w7938940 replied at February 03, 2015 · 7317 hits
var a = [1, 2, 3, 4, 5]
var b = [1, 2, 3, 4, 5]

a === b // false, as expected
a == b  // true,  as expected

a[0...1] // [1, 2]
b[0...1] // [1, 2]

a[0...1] === b[0...1] // false, as expected

a[0...1] == b[0...1]  // false, surprise

// ...and some more confusion

var c = a[0...1]
var d = b[0...1]

c == d  // true

为什么为什么这是为什么...

哈哈,原来是一个 bug,已经有人反馈了 http://openradar.appspot.com/17340722

Dora 爸你是语言学家么?

#2 楼 @terrywang 就是懂得太少... 所以要赶紧多学点

#3 楼 @blacktulip Beta 3 中已修复。

a[0...1] == b[0...1] // false, surprise 这是为什么,很 surprise

You need to Sign in before reply, if you don't have an account, please Sign up first.