The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск Python-библиотеки для научных вычислений NumPy 1.25.0..."
Отправлено Аноним, 19-Июн-23 07:24 
Вот примеры для Rust:

//Обобщенные функции Fmul и Fplus
use std::ops::Add;

fn Fmul<T>(x:T, y:T) -> T::Output
where T: std::ops::Mul  // для типов, реализующих трейт Умножение
{ x * y }

#[derive(Debug,Copy,Clone)]
struct Point {
    x:i32,
    y:i32,
}
impl Add for Point {
    type Output = Self;
    fn add(self, p2: Self) -> Self {
        Self {x: self.x + p2.x, y: self.y + p2.y}
    }
}

#[derive(Debug,Clone)]
struct WrappedString {
    s:String,
}
impl Add for WrappedString {
    type Output = Self;
    fn add(self, s2: Self) -> Self {
        Self {s: self.s + &s2.s}  
    }
}

fn Fplus<T>(x:T, y:T) -> T::Output
where T: std::ops::Add // для всех типов, реализующих трейт Сложение
{ x + y }

fn main(){
    let i1:i32 = -3;
    let i2:i32 = 4;
    println!("{:?}", Fmul(&i1,&i2));
    let u1:u32 = 30;
    let u2:u32 = 40;
    println!("{:?}", Fmul(&u1,&u2));
    let p1 = Point{x: 3, y: 4};
    let p2 = Point{x: 5, y: 6};
    let s1 = WrappedString{s:"Склей".to_string()};
    let s2 = WrappedString{s:"ка".to_string()};
    println!("{:?}", Fplus(p1,p2));
    println!("{:?}", Fplus(s1,s2).s);
    println!("{:?}", "Склей".to_string()+"ка");  
    println!("{:?}", Fplus(&u1,&u2));
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру