[swift-evolution] [Pitch] Add `mapValues` method to Dictionary

Matthew Johnson matthew at anandabits.com
Tue May 24 07:43:33 CDT 2016



Sent from my iPad

On May 24, 2016, at 12:59 AM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> 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
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list