我无法理解 Iterable class 然后使用 .map 语法。你能用简单的语言表达吗?
I am having trouble understanding the Iterable class then with the .map syntax. can you put this in a simple language?
我知道它使 ListTiles 走上了一条新路线,但我无法理解语法。拜托,你能用简单的语言解释一下这里发生了什么吗?
void _pushSaved() {
Navigator.of(context).push(
MaterialPageRoute<void>(
builder: (BuildContext context) {
final Iterable<ListTile> tiles = _saved.map(
(WordPair pair) {
return ListTile(
title: Text(
pair.asPascalCase,
style: _biggerFont,
),
);
},
);
final List<Widget> divided = ListTile.divideTiles(
context: context,
tiles: tiles,
).toList();
return Scaffold(
// Add 6 lines from here...
appBar: AppBar(
title: Text('Saved Suggestions'),
),
body: ListView(children: divided),
); // ... to here.
},
),
);
}
Dart 中的可迭代对象(List、Map、Set 等)具有 "functional style" 将常见类型的循环应用于其元素的方法。 map()
在可迭代对象的每个元素上运行一个函数,无论该函数 returns 被收集到一个新的可迭代对象中。
List<int> squares(List<int> numbers) {
return numbers.map((number) => number * number).toList();
}
它 "maps" 一个 Iterable<Type1>
到一个 Iterable<Type2>
。尽管它们可以与我的示例中的类型相同。
我知道它使 ListTiles 走上了一条新路线,但我无法理解语法。拜托,你能用简单的语言解释一下这里发生了什么吗?
void _pushSaved() {
Navigator.of(context).push(
MaterialPageRoute<void>(
builder: (BuildContext context) {
final Iterable<ListTile> tiles = _saved.map(
(WordPair pair) {
return ListTile(
title: Text(
pair.asPascalCase,
style: _biggerFont,
),
);
},
);
final List<Widget> divided = ListTile.divideTiles(
context: context,
tiles: tiles,
).toList();
return Scaffold(
// Add 6 lines from here...
appBar: AppBar(
title: Text('Saved Suggestions'),
),
body: ListView(children: divided),
); // ... to here.
},
),
);
}
Dart 中的可迭代对象(List、Map、Set 等)具有 "functional style" 将常见类型的循环应用于其元素的方法。 map()
在可迭代对象的每个元素上运行一个函数,无论该函数 returns 被收集到一个新的可迭代对象中。
List<int> squares(List<int> numbers) {
return numbers.map((number) => number * number).toList();
}
它 "maps" 一个 Iterable<Type1>
到一个 Iterable<Type2>
。尽管它们可以与我的示例中的类型相同。