То же самое на расте (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, но это большая редкость, у меня тоже был такой, там даже данные передавались в обоих положениях.
Могу ошибаться, но в статье речь идёт про SRAM? Насколько я помню, в DRAM бит данных хранится в конденсаторе, из-за чего такую память сложнее обслуживать, заряд утекает, его приходится подзаряжать.
Было бы интересно почитать подобные исследования про арт. Как появление моделей text-to-image сказалось на художниках, на количестве заказов изображений, упала/поднялась цена заказа и т. д.
Тогда квадроберы.
То же самое на расте (Result для обработки ошибок и стирание типов при компиляции, в рантайме работает так же быстро, как если бы использовался обычный usize):
В репозитории дебиана ж.
Тем временем PL/SQL:
На одном крупном сайте зарегистрировался с ником admin. В комментарии к посту пришли настоящие админы и долго возмущались занятым мной ником (который оставался свободным всё 10+ лет существования сайта).
Или если отчёт нужен ен в режиме онлайн, то можно просто пересчитывать раз в час.
Я почти уверен, что автор рассылал свой вирус одноклассникам/одногруппникам.
Ага, DC++ в локалке.
Ха-ха, классика, там вокруг окон прозрачная рамка с тенями. В РЕД ОС 7 под mate то же самое. Несколько бесит, возможно, фиксится сменой темы на более простую. Или нет.
Долгое время пользовался телефоном с портом mini-USB для зарядки. Когда провод ожидаемо сломался, с некоторым трудом нашёл замену в магазине, торгующим... видеорегистраторами.
А ещё существовали двусторонние micro-USB, но это большая редкость, у меня тоже был такой, там даже данные передавались в обоих положениях.
Почитал ваши правила, хотите, чтобы в репозитории debian sid появился пакет. Как мне кажется, это более честная цель с учётом оплаты.
rpm-пакет можно?
Есть ещё полезная опция
ConditionFileIsExecutable=- на случай, если пакет с выполняемым файлом был удалён, но конфиги systemd остались.Я hex-код писал бы на метке так, чтобы в каждой строке было чётное число букв. И моноширинным шрифтом.
Видел (и писал) подобное в lua.
"настоющих"
Могу ошибаться, но в статье речь идёт про SRAM? Насколько я помню, в DRAM бит данных хранится в конденсаторе, из-за чего такую память сложнее обслуживать, заряд утекает, его приходится подзаряжать.
Да постоянно. У меня ещё с вероятностью 30% xfce норовит включить зеркальные дисплеи после выхода ноутбука из сна.
Было бы интересно почитать подобные исследования про арт. Как появление моделей text-to-image сказалось на художниках, на количестве заказов изображений, упала/поднялась цена заказа и т. д.