Size: a a a

2020 April 04

DS

Doge Shibu in rust_offtopic
Ты знаешь как он устроен?
источник

PK

Pavel Kvasnikov in rust_offtopic
Обычный список? Типо Vec?
источник

SP

Stanislav Popov in rust_offtopic
linked list видимо
источник

DS

Doge Shibu in rust_offtopic
Pavel Kvasnikov
Обычный список? Типо Vec?
Нет, это связный иммутабельный список
источник

DS

Doge Shibu in rust_offtopic
Типа [] в хаскеле или List[...] в скале и т.п.
источник

PK

Pavel Kvasnikov in rust_offtopic
LinkedList тоже знаю, ноды с ссылками вперед и назад на другие ноды
источник

DS

Doge Shibu in rust_offtopic
Pavel Kvasnikov
LinkedList тоже знаю, ноды с ссылками вперед и назад на другие ноды
Нет, с ссылками туда-сюда - это не иммутабельный связный список по очевидным причинам
источник

PK

Pavel Kvasnikov in rust_offtopic
Не знаю как иммутабильный устроен
источник

DS

Doge Shibu in rust_offtopic
Pavel Kvasnikov
LinkedList тоже знаю, ноды с ссылками вперед и назад на другие ноды
Т.е. тот список, про который я говорю, это такая штука:

data List a = Nil | Cons a (List a)
источник

DS

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

PK

Pavel Kvasnikov in rust_offtopic
Лучше на Rust
источник

G

Gymmasssorla in rust_offtopic
enum ConsList<T> {
   Nil,
   Cons { elem: T, rest: Box<dyn ConsList<T>> },
}
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
enum ConsList<T> {
   Nil,
   Cons { elem: T, rest: Box<dyn ConsList<T>> },
}
+
источник

DS

Doge Shibu in rust_offtopic
Выглядит вот так
источник

DS

Doge Shibu in rust_offtopic
Только без dyn
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
enum ConsList<T> {
   Nil,
   Cons { elem: T, rest: Box<dyn ConsList<T>> },
}
Ну и да, всё же не так
источник

G

Gymmasssorla in rust_offtopic
Ну в Rust нет индуктивных типов
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
Ну в Rust нет индуктивных типов
enum List<A> {
   Nil, Cons { head: A, tail: Arc<List<A>> }
}

Тебе нужен Arc или Rc
источник

DS

Doge Shibu in rust_offtopic
Теперь как будут выглядить операции со списком. Операции со чтением, они очевидны.
источник

DS

Doge Shibu in rust_offtopic
Тут всё как обычно.
источник