[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