欢迎加入QQ讨论群258996829
bigcake 头像
苹果0袋
0
bigcake

菜鸟提问

发布时间:2018-04-16 18:21  回复:2  查看:4420   最后回复:2018-04-18 10:55  
能否定义一个方法,比较两个数组的值。
若数组内值的类型相同,返回一个包含两个数组相同的值的数组。
若数组内值的类型不相同,则抛出一个错误。
ps:在阅读泛型篇章时想到的问题,但写不出实现这个方法的代码,在此请教!
Swift 头像
苹果5袋
5
Swift   2018-04-18 10:23
这里有个类似的代码
func anyCommonElements<T: Sequence, U: Sequence>(_ lhs: T, _ rhs: U) -> Bool
    where T.Iterator.Element: Equatable, T.Iterator.Element == U.Iterator.Element {
        for lhsItem in lhs {
            for rhsItem in rhs {
                if lhsItem == rhsItem {
                    return true
                }
            }
        }
        return false
}
anyCommonElements([1, 2, 3], [3])
这个帖子里摘出来的
大头大哥orz 头像
苹果0袋
0
大头大哥orz   2018-04-18 10:55
func anyCommonElements<T: Sequence, U: Sequence>(_ lhs: T, _ rhs: U) -> T
    where T.Iterator.Element: Equatable, T.Iterator.Element == U.Iterator.Element {
        var temp = T()
        for lhsItem in lhs {
            for rhsItem in rhs {
                if lhsItem == rhsItem {
                    temp.appand(lhsItem)
                }
            }
        }
        return temp
}
anyCommonElements([1, 2, 3], [3])
您还未登录,请先登录

热门帖子

最新帖子