在M3中删除了Strings.join - 什么是新语法?

时间:2013-02-25 09:41:50

标签: dart

以下代码在Dart M3中不再有效,我找不到新语法。

有人可以提出建议吗?

#import('dart:uri');

String encodeMap(Map data) {
  return Strings.join(data.getKeys().map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }), "&");
}

1 个答案:

答案 0 :(得分:9)

只需在Iterable上使用.join(separator)

在你的情况下:

import 'dart:uri';

String encodeMap(Map data) {
  return data.keys.map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }).join("&");
}

来自Breaking Change: Strings class is going away

  

核心中的Strings类(注意尾随的“s”)正在消失   如果您使用了Strings.join(stringIterable,separator),请将其替换为stringIterable.join(separator)。
  如果您使用了Strings.concatAll(stringIterable),请将其替换为stringIterable.join()。