就拿大量使用 List Comprehension 的 Python 做比较,
这些特性 Python 需要分为多个 List Comprehension 且外层嵌套逻辑来实现,比如产生这样的一个 List:
( Dart 的实现)
void main() {
print([
if (2 > 1) 222 else 333,
if (2 > 3) 444,
for (int i in Iterable.generate(10)) if (i % 3 == 1) i,
for (int i in Iterable.generate(10, (x) => x + 100)) if (i % 2 == 0) i
]);
}
output: [222, 1, 4, 7, 100, 102, 104, 106, 108]
https://dartpad.dev/540d15e9a25afb2159ee1b380e98d906
( Python 的实现)
print(
[if (2 > 1) 222 else 333] +
([444] if (2 > 3) else []) +
[i for i in range(10) if i % 3 == 1] +
[i + 100 for i in range(10) if (i + 100) % 2 == 0]
)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.