Skip to content

Instantly share code, notes, and snippets.

@Ingco
Last active April 5, 2021 10:52
Show Gist options
  • Save Ingco/d95140f0aa69b341fec1e2d6823eaaf5 to your computer and use it in GitHub Desktop.
Save Ingco/d95140f0aa69b341fec1e2d6823eaaf5 to your computer and use it in GitHub Desktop.
Основы Dart 2; Губатенко Артем
/// 1. Capitalize users
List<String> users = ['anna', 'viKtor', 'Mike', 'aleX', 'dan'];
List<String> capitalizeNames(List<String> names) {
return names.map((String name) {
return "${name[0].toUpperCase()}${name.substring(1).toLowerCase()}";
}).toList();
}
/// 2. Searching hero
List<Map<String, dynamic>> data = [
{"name": "Batman", "age": 30},
{"name": "Spiderman", "age": 18},
{"name": "Kung fury", "age": 23},
{"name": "Tor", "age": 550},
{"name": "Halk", "age": 44},
{"name": "Iron man", "age": 35},
];
Map<String, dynamic> findUser(
List<Map<String, dynamic>> heroes, String findName) {
return heroes.firstWhere((element) => element["name"] == findName,
orElse: () => {"name": "Anonimus", "age": 0});
}
/// 3. Modernize code
abstract class Hero {
void say();
}
mixin Fly {
void canFly(int speed) {
print("Я могу летать со скоростью $speed км/ч!");
}
}
mixin Jump {
void canJump() {
print("Я могу прыгать.");
}
}
class SuperMan extends Hero with Fly, Jump {
int flySpeed;
SuperMan(this.flySpeed);
void say() {
canFly(flySpeed);
canJump();
}
}
void main() {
// #1
List<String> resultUsers = capitalizeNames(users);
print(resultUsers);
print(" -- ");
// #2
Map<String, dynamic> batmanHero = findUser(data, "Batman");
print(batmanHero);
Map<String, dynamic> anonimus = findUser(data, "Superman");
print(anonimus);
print(" -- ");
// #3
SuperMan hero = SuperMan(200);
hero.say();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment