Skip to content
New issue

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

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

Already on GitHub? Sign in 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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