Size: a a a

2020 October 18

AK

Alexander Krivitskiy in Rust Beginners
Нашёл у себя вот такое в коде. Это можно короче записать без промежуточного ok_or()? f1 возвращает Option, f2 - Result


f1().ok_or(()).or_else(|_| f2())?
источник

s

spookee in Rust Beginners
Привет, народ. Существует ли способ в rust параметризовать структуру параметром, который не является типом, как в с++? ("size_t L" на картинке)
источник

d

diabolo in Rust Beginners
spookee
Привет, народ. Существует ли способ в rust параметризовать структуру параметром, который не является типом, как в с++? ("size_t L" на картинке)
источник

ИЛ

Иван Лещенко... in Rust Beginners
spookee
Привет, народ. Существует ли способ в rust параметризовать структуру параметром, который не является типом, как в с++? ("size_t L" на картинке)
Что-то такое?
источник

JC

Julian =) Coffee in Rust Beginners
spookee
Привет, народ. Существует ли способ в rust параметризовать структуру параметром, который не является типом, как в с++? ("size_t L" на картинке)
Ждем этой фичи с нетерпением
источник

JC

Julian =) Coffee in Rust Beginners
В стейбле пока что нельзя, в найтли есть фича для такого
источник

s

spookee in Rust Beginners
Спасибо большое)
источник

d

diabolo in Rust Beginners
Julian =) Coffee
В стейбле пока что нельзя, в найтли есть фича для такого
ой, все время забываю, что кто-то живёт на stable)
источник

JC

Julian =) Coffee in Rust Beginners
🌚
источник

AB

Andrew Borzilo in Rust Beginners
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=239d33c4450d305170fee2d3c674e351
Есть какой-то способ убедить borrow checker, что surface, возвращаемый из create_surface никак не связан с передаваемым туда render?
источник

r

red75prime in Rust Beginners
Andrew Borzilo
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=239d33c4450d305170fee2d3c674e351
Есть какой-то способ убедить borrow checker, что surface, возвращаемый из create_surface никак не связан с передаваемым туда render?
-> Sdl2Surface<'static> Исходящий лайфтайм должен быть связан с каким-нибудь входящим лайфтамом или быть 'static
источник

AB

Andrew Borzilo in Rust Beginners
Sdl2Surface - аналог структуры Surface из крейта SDL2, там я ничего изменить не могу
источник

AB

Andrew Borzilo in Rust Beginners
или вы имеете в виду, что можно как-то выкрутиться, указав лайфтаймы в create_surface ?
источник

AB

Andrew Borzilo in Rust Beginners
ммм ... кажется понял
источник

AB

Andrew Borzilo in Rust Beginners
fn create_surface<'a, 'b>(_render: &'a MyRender) -> Sdl2Surface<'b> {
. . .
}
получилось, спасибо за наводку :)
источник

JC

Julian =) Coffee in Rust Beginners
🤔
источник

АК

Алексей Кравченко... in Rust Beginners
Ребята помогите разобраться с элементарной задачей.

Не хватает пока понимания Option и вот этих всех штук.

Нужно найти максимальное / минимальное значение вектора по которому прошелся через .map() некой математической операцией.

Упрощенный пример:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb7b49242270e2066a6a3285fe791cad
источник

JC

Julian =) Coffee in Rust Beginners
источник

AK

Alexander Krivitskiy in Rust Beginners
Алексей Кравченко
Ребята помогите разобраться с элементарной задачей.

Не хватает пока понимания Option и вот этих всех штук.

Нужно найти максимальное / минимальное значение вектора по которому прошелся через .map() некой математической операцией.

Упрощенный пример:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb7b49242270e2066a6a3285fe791cad
1. max возвращает Option, а не T. Если итератор пустой, то вернётсч None.
2. В Раст нет неявных кастов. Нельзя просто умножить f32  на u64, нужно явно всё привести через as к одному типу.
3. max не сработает на флоаты, т.к. они не Ord. Вроде как max_by поможет в этом случае
источник

EG

Emmanuel Goldstein in Rust Beginners
Алексей Кравченко
Ребята помогите разобраться с элементарной задачей.

Не хватает пока понимания Option и вот этих всех штук.

Нужно найти максимальное / минимальное значение вектора по которому прошелся через .map() некой математической операцией.

Упрощенный пример:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb7b49242270e2066a6a3285fe791cad
источник