[swift-evolution] Be able to initialise empty dict with array constrcutor
Jeremy Pereira
jeremy.j.pereira at googlemail.com
Tue Jan 5 07:01:18 CST 2016
> On 5 Jan 2016, at 12:51, James Campbell <james at supmenow.com> 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 <jeremy.j.pereira at googlemail.com> wrote:
> I don’t understand what the problem is
>
> > On 5 Jan 2016, at 12:39, James Campbell via swift-evolution <swift-evolution at swift.org> 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
> > james at supmenow.com
> > +44 7523 279 698
> > _______________________________________________
> > swift-evolution mailing list
> > swift-evolution at swift.org
> > https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
>
> --
> Wizard
> james at supmenow.com
> +44 7523 279 698
More information about the swift-evolution
mailing list