> On 5 Jan 2016, at 12:51, James Campbell <[email protected]> wrote: > > The problem for me is that is so counter intuitive I didn't even know you > could do that.
The first one is a bit counter intuitive and I agree that var distanceCache: [Int: Int] = [] might be an improvement, albeit not one I think many people would agree is worth doing. However, the second one is a natural extrapolation from the equivalent array syntax i.e. var array = [Int]() var dictionary = [String: Int]() > > On Tue, Jan 5, 2016 at 12:50 PM, Jeremy Pereira > <[email protected]> wrote: > I don’t understand what the problem is > > > On 5 Jan 2016, at 12:39, James Campbell via swift-evolution > > <[email protected]> wrote: > > > > See this code: > > var distanceCache: [Int: Int] = Dictionary<Int, Int>() > > > > It is very long and tedious to write especially if what I am storing > > changes. > > > > I propose we be allowed to do the following: > > var distanceCache: [Int: Int] = [] > > You can do > > var distanceCache: [Int: Int] = [:] > > Also > > var distanceCache2 = [Int: Int]() > > > > Perhaps this dictionary syntax is just confusing and it was a bad idea to > > make it the same as an array. Most languages use "{" so why did swift > > choose to share "[" with arrays and dictionaries. > > It’s not the same, you need the colons inside. I imagine that braces were > discarded on the grounds that it would confuse the compiler with respect to > closures, for example > > var myClosure = {} // is a variable of type () -> () > > > > > > -- > > Wizard > > [email protected] > > +44 7523 279 698 > > _______________________________________________ > > swift-evolution mailing list > > [email protected] > > https://lists.swift.org/mailman/listinfo/swift-evolution > > > > > -- > Wizard > [email protected] > +44 7523 279 698 _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
