> I don't think I have ever mapped keys. Incidentally, that doesn't have the > usual semantics of a map operation as you can produce duplicate keys.
As has been pointed out in other messages here, the slight change I suggested would let you see the key when mapping the value, but it wouldn’t let you transform the key. Either way, if Swift 3 gives us a dictionary initialiser from a sequence, then this change won’t be necessary. If it won’t, I still think seeing the key could come in handy at times (although I can’t think of an example). > On 24 May 2016, at 14:43, Matthew Johnson <[email protected]> wrote: > > > > Sent from my iPad > > On May 24, 2016, at 12:59 AM, Brent Royal-Gordon via swift-evolution > <[email protected]> wrote: > >>> I have a small remark though, wouldn’t it be better to let transform be of >>> type (Key, Value) throws -> T instead of (Value) throws -> T? You can just >>> ignore the key (with _) if you don’t need it, but I think it might come in >>> handy in some cases. >> >> The problem is, that closes the door to writing many simple maps in >> functional style. For instance, this: >> >> dictionaryOfNumbers.mapValues(abs) >> >> Would have to become this: >> >> dictionaryOfNumbers.mapValues { _, v in abs(v) } >> >> (It *might* be possible to do it with `$1`, but I'm not sure; there are some >> limitations around that.) >> >> A value-value map is just simpler and cleaner, while almost always giving >> you what you need. > > +1. > > I don't think I have ever mapped keys. Incidentally, that doesn't have the > usual semantics of a map operation as you can produce duplicate keys. > >> >> -- >> Brent Royal-Gordon >> Architechies >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution > _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
