Size: a a a

Rust — русскоговорящее сообществo

2020 March 24

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Эрик
А там что, один, штоле?
как видишь один
источник

Э

Эрик in Rust — русскоговорящее сообществo
Alex Zhukovsky
как видишь один
Не вижу. Там две IO операции.
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Эрик
Не вижу. Там две IO операции.
a это переменная, а не функция
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
у тебя pr() это функция
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
Alex Zhukovsky
main = do
 let a = print 10
 a
 a


Это можно написать на расте или нет? Именно в таком виде, с одним принтом
Я же сказал тебе
источник

Э

Эрик in Rust — русскоговорящее сообществo
Можно разве что сократить до

fn main() {
let pr_res = format!("{}", 10);
let pr = || println!("{}", pr_res);
pr();
pr()
}
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
Там внутри генератор, который при резолве меняет состояние на «done”
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
И ты получишь ошибку в рантайме
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Roman Proskuryakov
Там внутри генератор, который при резолве меняет состояние на «done”
да я понял уже, я человеку отвечал на вопрос "что я хочу"
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Alex Zhukovsky
main = do
 let a = print 10
 a
 a


Это можно написать на расте или нет? Именно в таком виде, с одним принтом
так хаскель тотально по другому работает
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Эрик
Можно разве что сократить до

fn main() {
let pr_res = format!("{}", 10);
let pr = || println!("{}", pr_res);
pr();
pr()
}
это всё не то, но уже не важно, я понял ответ на свой вопрос
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Alex Zhukovsky
main = do
 let a = print 10
 a
 a


Это можно написать на расте или нет? Именно в таком виде, с одним принтом
чтобы такое заработало, нужно из main возвращать некий список Debug значений.
которые будут выводиться в терминал
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
ну и обобщить это всё для io вцелом
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
дело не в этом. Смысл в том что ИО стейтлесс, и один инстанс можно спокойно реюзать. А футуры стейтфул
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
я думал что футуры тоже стейтлесс а стейтфул становится внутренняя фигня внутри реактора когда поллинг начинается. Но видимо это не так. А жаль
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
мне кажется &mut Self, явно кричит о мутабельности состояния
источник

r

red75prime in Rust — русскоговорящее сообществo
Alex Zhukovsky
main = do
 let a = print 10
 a
 a


Это можно написать на расте или нет? Именно в таком виде, с одним принтом
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
Alex Zhukovsky
я думал что футуры тоже стейтлесс а стейтфул становится внутренняя фигня внутри реактора когда поллинг начинается. Но видимо это не так. А жаль
нет никакой "внутренней фигни", executor просто дергает poll()
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ad6fd21a136c1c6634605d54d2b7e0e3

ага, иначе разваливается
потому что .await мувает
источник

r

red75prime in Rust — русскоговорящее сообществo
🦉 ⁣
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ad6fd21a136c1c6634605d54d2b7e0e3

ага, иначе разваливается
потому что .await мувает
Это получилась футура, которая возвращает футуру. Так работает: fn foo() -> impl Copy + Future<Output = u32>
источник