Обновить
21
0.1

Пользователь

Отправить сообщение

То же самое на расте (Result для обработки ошибок и стирание типов при компиляции, в рантайме работает так же быстро, как если бы использовался обычный usize):

use std::ops::{Add, Mul, Sub};

#[derive(Debug, Copy, Clone, PartialEq, PartialOrd, Eq, Ord)]
pub struct Weight(usize);

impl Weight {
    #[allow(clippy::unwrap_used)]
    pub fn from_grams(grams: i32) -> Result<Self, String> {
        if grams < 0 {
            Err(format!("Weight cannot be negative: {} g", grams))
        } else {
            Ok(Self(grams.try_into().unwrap()))
        }
    }

    pub fn from_kilograms(kilograms: i32) -> Result<Self, String> {
        Self::from_grams(kilograms * 1000)
    }

    /// Получить вес в граммах
    #[must_use]
    pub fn inner(self) -> usize {
        self.0
    }

    #[must_use]
    pub fn is_between(self, first: Self, second: Self) -> bool {
        let min = first.min(second);
        let max = first.max(second);
        min <= self && self <= max
    }

    #[must_use]
    pub fn is_empty(self) -> bool {
        self.0 == 0
    }
}

impl Add for Weight {
    type Output = Self;

    fn add(self, rhs: Self) -> Self::Output {
        Self(self.0 + rhs.0)
    }
}

impl Sub for Weight {
    type Output = Result<Self, String>;

    fn sub(self, rhs: Self) -> Self::Output {
        if rhs > self {
            Err(format!("Weight cannot be negative: -{} g", rhs.0 - self.0))
        } else {
            Ok(Self(self.0 - rhs.0))
        }
    }
}

impl Mul<usize> for Weight {
    type Output = Self;

    fn mul(self, rhs: usize) -> Self::Output {
        Self(self.0 * rhs)
    }
}

В репозитории дебиана ж.

Возможно, код большинства программ визуально выглядел бы более «словесным». Например, вместо for (int i=0; i<10; i++) { ... } писали что-то вроде FOR i = 0 TO 9 ... NEXT i. Сохранилась бы и традиция нечувствительных к регистру ключевых слов: Begin, BEGIN или begin— неважно.

Тем временем PL/SQL:

declare
    l_result number;
begin
    for i in reverse 1..10 loop
        l_result := i * i;
        if i = 5 then
            l_result := l_result - 1;
        end if;
        dbms_output.put_line(i || ': ' || l_result); 
    end loop;
end;

Домен еще не привязан

На одном крупном сайте зарегистрировался с ником admin. В комментарии к посту пришли настоящие админы и долго возмущались занятым мной ником (который оставался свободным всё 10+ лет существования сайта).

Или если отчёт нужен ен в режиме онлайн, то можно просто пересчитывать раз в час.

Я почти уверен, что автор рассылал свой вирус одноклассникам/одногруппникам.

Далее максимизирую окно, возвращаю обратно — окно съехало со своего места. ЧЯДНТ?!

Ха-ха, классика, там вокруг окон прозрачная рамка с тенями. В РЕД ОС 7 под mate то же самое. Несколько бесит, возможно, фиксится сменой темы на более простую. Или нет.

Долгое время пользовался телефоном с портом mini-USB для зарядки. Когда провод ожидаемо сломался, с некоторым трудом нашёл замену в магазине, торгующим... видеорегистраторами.

А ещё существовали двусторонние micro-USB, но это большая редкость, у меня тоже был такой, там даже данные передавались в обоих положениях.

Почитал ваши правила, хотите, чтобы в репозитории debian sid появился пакет. Как мне кажется, это более честная цель с учётом оплаты.

Выберите программу из нашего списка и напишите для нее deb-пакет.

rpm-пакет можно?

Есть ещё полезная опция ConditionFileIsExecutable= - на случай, если пакет с выполняемым файлом был удалён, но конфиги systemd остались.

Я hex-код писал бы на метке так, чтобы в каждой строке было чётное число букв. И моноширинным шрифтом.

Иногда встречается старомодная запись «тернарника»:

Видел (и писал) подобное в lua.

Могу ошибаться, но в статье речь идёт про SRAM? Насколько я помню, в DRAM бит данных хранится в конденсаторе, из-за чего такую память сложнее обслуживать, заряд утекает, его приходится подзаряжать.

Да постоянно. У меня ещё с вероятностью 30% xfce норовит включить зеркальные дисплеи после выхода ноутбука из сна.

Было бы интересно почитать подобные исследования про арт. Как появление моделей text-to-image сказалось на художниках, на количестве заказов изображений, упала/поднялась цена заказа и т. д.

Ха, оплату вам заблокировали. Мне заблокировали пластиковую карту, разблокировать невозможно, только перевыпуск через 30 дней.

1
23 ...

Информация

В рейтинге
4 165-й
Зарегистрирован
Активность

Специализация

Разработчик приложений
Разработка программного обеспечения
Базы данных
Oracle PL/SQL
Oracle SQL
Администрирование Linux
Python
Rust
Git
Администрирование баз данных
Администрирование Oracle