C++
C#
Dart
F#
JavaScript
Kotlin
Python
Начиная со стандарта С+20
#include <iostream> #include <vector> #include <ranges> class Person { public: Person(std::string name, unsigned age): name{name}, age{age}{} std::string getName() const {return name;} unsigned getAge() const {return age;} void print() const { std::cout << name <<"\t" << age << std::endl; } private: std::string name; unsigned age; }; int main() { std::vector<Person> people { Person{"Tom", 38}, Person{"Kate", 31}, Person{"Bob", 42}, Person{"Alice", 34}, Person{"Sam", 25} }; auto ageMoreThan33 = [](const Person& p){return p.getAge() > 33;}; // фильтрация с помощью функции представления auto filter_view = people | std::views::filter(ageMoreThan33); for(const auto& person: filter_view) { person.print(); } // фильтрация с помощью конструктора представления filter_view = std::ranges::filter_view(people, ageMoreThan33); for(const auto& person: filter_view) { person.print(); } }
var people = new List<Person> { new Person("Tom", 38), new Person("Kate", 31), new Person("Bob", 42), new Person("Alice", 34), new Person("Sam", 25) }; // фильтрация элементов, у которых age > 33 var view = people.Where((person) => person.Age > 33); foreach(var person in view) { person.Print(); } class Person { public string Name {get;} public int Age {get;} public Person(string name, int age) { this.Name = name; this.Age = age; } public void Print() { Console.WriteLine($"Name: {Name} \tAge: {Age}"); } }
class Person{ String name; int age; Person(this.name, this.age); void display() { print("Name: $name \tAge: $age"); } } void main (){ var people = [ Person("Tom", 38), Person("Kate", 31), Person("Bob", 42), Person("Alice", 34), Person("Sam", 25) ]; // фильтрация элементов, у которых age > 33 var view = people.where((person) => person.age > 33); for(final person in view) { person.display(); } }
type Person (name, age) = member _.Name = name member _.Age = age member _.Print() = printfn $"Name: {name} Age: {age}" let people = [ Person("Tom", 38); Person("Kate", 31); Person("Bob", 42); Person("Alice", 34); Person("Sam", 25) ] // фильтрация элементов, у которых age > 33 let view = List.filter (fun (p:Person) -> p.Age > 33) people for person in view do person.Print()
function Person(name, age){ this.name = name; this.age = age; this.print = function(){ console.log(`Имя: ${this.name} Возраст: ${this.age}`); } } const people = [ new Person("Tom", 38), new Person("Kate", 31), new Person("Bob", 42), new Person("Alice", 34), new Person("Sam", 25) ]; // фильтрация элементов, у которых age > 33 const view = people.filter((person) => person.age > 33); for(person of view) { person.print(); }
fun main() { val people = listOf( Person("Tom", 38), Person("Kate", 31), Person("Bob", 42), Person("Alice", 34), Person("Sam", 25) ); // фильтрация элементов, у которых age > 33 val view = people.filter{it.age > 33} for(person in view){ person.display(); } } class Person(val name: String, val age:Int){ fun display() = println("Name: $name \tAge: $age") }
class Person: def __init__(self, name, age): self.name = name self.age = age def print(self): print(f"Имя: {self.name} Возраст: {self.age}") people = [ Person("Tom", 38), Person("Kate", 31), Person("Bob", 42), Person("Alice", 34), Person("Sam", 25) ] # фильтрация элементов, у которых age > 33 view = filter(lambda p: p.age > 33, people) for person in view: person.print()