Size: a a a

2021 February 28

ΑZ

Αλεχ Zhukovsky in rust_offtopic
два - деконструирование и обращение по индекса ортгоноальны см. slice patterns
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
вроде массив, а доструктурировать можно
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
так-то и с таплом можно сделать foo._0 что по сути обращение по индексу. только выглядит более всрато чем деструктурирование
источник

s

suhr in rust_offtopic
Да, кстати, деконструирование тоже работает:

const hlist: [number, string] = [42, "foo"]
const [_, message] = hlist;
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
да это понятно. Но мне кажется это сложнее реализовать чем таплы
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
учитывая что таплы декоснтруировать можно начиная с 1.0, а вот слайсы только в найтли до сих пор
источник

s

suhr in rust_offtopic
А с другой стороны, это и есть таплы, только с синтаксисом массивов.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
suhr
А с другой стороны, это и есть таплы, только с синтаксисом массивов.
когда у тебя всё [any] то массивы от таплов не особо отличаются в принципе
источник

s

suhr in rust_offtopic
Именно так. Различия лишь в типах.
источник

EG

Emmanuel Goldstein in rust_offtopic
Αλεχ Zhukovsky
ну это явно не так, иначе любая программа на старте завершалась бы потому что в первый момент времени никто никому ничего не шлет
В первый момент запускается конструктор Main.create, который считается обработкой сообщения
источник

EG

Emmanuel Goldstein in rust_offtopic
Если он не наспаунит других акторов и выйдет, то да, программа завершится
источник

EG

Emmanuel Goldstein in rust_offtopic
Конструктор — это, условно, обработка нулевого сообщения
источник

EG

Emmanuel Goldstein in rust_offtopic
Так что нет, всё хорошо, в первый момент программа не спокойна, потому что актор Main занят обработкой нулевого сообщения .create(env) и не спокоен
источник

EG

Emmanuel Goldstein in rust_offtopic
Αλεχ Zhukovsky
обычно делают наоборот 2 в 1
?
Моя боль в том, что из-за отсутствия гарантий на деструкторы, принимать FnOnce вместо RAII это частый паттерн в Rust
источник

EG

Emmanuel Goldstein in rust_offtopic
И всё уезжает вправо
источник

EG

Emmanuel Goldstein in rust_offtopic
Глядите, это фреймворк для тестов на GAS
источник

EG

Emmanuel Goldstein in rust_offtopic
И вот так выглядит вывод
источник

EG

Emmanuel Goldstein in rust_offtopic
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Emmanuel Goldstein
В первый момент запускается конструктор Main.create, который считается обработкой сообщения
если я в Main.create ожидаю ввода с клавиатуры то как это должно работать? У нас есть 1 единственный актор ждущий сообщения IO
источник

EG

Emmanuel Goldstein in rust_offtopic
Αλεχ Zhukovsky
если я в Main.create ожидаю ввода с клавиатуры то как это должно работать? У нас есть 1 единственный актор ждущий сообщения IO
Чтобы начать ожидать ввода с клавиатуры, тебе нужно передать сообщение актору input
источник