> 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

Reply via email to