Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Supporting constructing Maps from Lists of key/value pairs #2642

Closed
DartBot opened this issue Apr 18, 2012 · 4 comments
Closed

Supporting constructing Maps from Lists of key/value pairs #2642

DartBot opened this issue Apr 18, 2012 · 4 comments
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. closed-not-planned Closed as we don't intend to take action on the reported issue

Comments

@DartBot
Copy link

DartBot commented Apr 18, 2012

This issue was originally filed by @MarkBennett


What steps will reproduce the problem?

  1. Generate a List of key/value pairs (such as by parsing a query string)
  2. Attempt to create a new Map from the list.
  3. Fail.

What is the expected output? What do you see instead?

    I would expect the Map to include a constructor that could construct a Map from a List of key/value pairs similair to the Hash constructor in Ruby (http://rdoc.info/stdlib/core/1.9.3/Hash.%5B%5D)

What version of the product are you using? On what operating system?

Version 0.1.0.201204121423, Build 6479
Dart SDK version 6478, Dartium version

Please provide any additional information below.

@madsager
Copy link
Contributor

Added Area-Library, Triaged labels.

@DartBot
Copy link
Author

DartBot commented Apr 19, 2012

This comment was originally written by @seaneagan


This would involve introducing some sort of Pair<K, V> interface, so this could then be done by having Map<K, V> extend Collection<Pair<K, V>> (see issue #326 discussion), and then changing the parameter type of the Map.from constructor:

Map.from(Collection<Pair<K, V>>);

@DartBot
Copy link
Author

DartBot commented Apr 20, 2012

This comment was originally written by ladicek@gmail.com


This would involve introducing some sort of Pair<K, V>

Not necessarily. I think that the original poster wants (and the link to RDoc confirms) a constructor that takes a list, which contains keys and values interleaved, like this:

Map<int, String> m = new Map.fromInterleaved(1, "a", 2, "b");

"fromInterleaved" isn't exactly the best name, but I think that it also isn't the best idea -- especially when full Map literals come (the current limitation to String keys is kinda annoying, really).

@lrhn
Copy link
Member

lrhn commented Aug 22, 2013

We don't particularly want to introduce pairs of keys/values.
We have Map.fromIterable which would work:
  new Map.fromIterable(pairList, (p) => p.first, (p) => p.second)
or if you don't keep the key and value in the same list:
  new Map.fromIterables(keys, values)


Added NotPlanned label.

@DartBot DartBot added Type-Defect area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. closed-not-planned Closed as we don't intend to take action on the reported issue labels Aug 22, 2013
dart-bot pushed a commit that referenced this issue Oct 14, 2020
git log --oneline cf9795f3bb209504c349e20501f0b4b8ae31530c..f0c7771b38155d3829a60d60b5dba2784b100811
f0c7771b Set first version with null safety to 2.12 (#2684)
df1140af Warn from get, when mixed mode (#2590)
765778c0 Simplify test detection (#2682)
afd66ea2 Inline the single test asset. (#2681)
059e4796 Simplify the logic for unicode and colors in output (#2679)
35ddaec2 Dartify test tool (#2680)
62f26401 Example for User-Agent (#2678)
e8b4b114 fixes: #2670 pub global activate commands always exit cmd on windows. (#2671)
93e703b1 Improve stack traces in many tests (#2673)
5b540a39 Fix experiments tests for Dart 2.11 (#2672)
b0ac77d8 Bump dependency on pkg:analyzer (#2662)
73f0906e Removed @alwaysThrows (#2642)
88e0a83c Fixed bug in adding dependency to empty dependencies key (#2640)
135d9fa0 Pub add/remove now remove dependencies key if it makes them empty (#2639)
f4cc9673 Fix "pubpsec" typo (#2641)
4686d74d Adding an existing package is now a dataError (#2638)
1e93f47c Checks pubspec keys for potential typos (#2616)
fa5f51ef Vendor yaml_edit (#2633)
ac6d307f Adding a `pub remove` command (#2620)
9d236e00 Adding the `pub add` command (#2618)
04e237f7 Drop upper bound instead of using "any" while resolving in "pub outdated" (#2623)
93954f33 Use InternetAddress.tryParse over try/catch (#2626)
638c81c9 Refine publishing message (#2624)


Allow github


Embed pub as a library into dartdev

Change-Id: Iadc6acb5c3425dfb8848db89820e6c9c8caf16ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167574
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
This issue was closed.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. closed-not-planned Closed as we don't intend to take action on the reported issue
Projects
None yet
Development

No branches or pull requests

3 participants