Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 27 2015 20:26
    User @sudodoki banned @doneck-russia from this room
  • Mar 19 2015 20:58
    User @mr-mig banned @pgr-ru from this room
  • Mar 15 2015 01:09
    User @mr-mig banned @putin-hero from this room
  • Mar 15 2015 01:09
    User @mr-mig banned @stepan-bendera from this room
Vladyslav Siriniok
@siriniok
Що можна цікавого написати на раст, щоб вникнути в мову?
Vladimir Motylenko
@vldm
@mevsme насчёт примера с каникулами: в реальном мире принято считать натуральными числами, с 1, а в программировании с 0, вот и выходит
Vladyslav M.
@dywedir
rust-lang/rfcs#198 если интересно кому.
Note that slicing is "exclusive" (so [n..m] is the interval n <= x < m), while .. in match patterns is "inclusive". To avoid confusion, we propose to change the match notation to ... to reflect the distinction. The reason to change the notation, rather than the interpretation, is that the exclusive (respectively inclusive) interpretation is the right default for slicing (respectively matching).
Some other languages (like Python and Go -- and Fortran) use : rather than .. in slice notation. The choice of .. here is influenced by its use elsewhere in Rust, for example for fixed-length array types [T, ..n]. The .. for slicing has precedent in Perl and D.
Vladimir Motylenko
@vldm
...вот и выходит что в том же си была очень распространена конструкция for (I=0;I<length;I++) которую и заменяет for I in 0.. length
Ingvar Stepanyan
@RReverser

Що можна цікавого написати на раст, щоб вникнути в мову?

@siriniok можеш для початку з веб-сервером погратись який Iron, щоб щось знайоме було

Vladyslav Siriniok
@siriniok
@RReverser ну вебсервер — це банально і нудно) Я от думаю погратися з цим http://www.piston.rs/
Ingvar Stepanyan
@RReverser
@siriniok ну такоє, навіть в ньому тобі доведеться зіткнутись зі всім, що є в расті
і боротись з borrow checker
а це власне головне що треба навчитись при роботі з растом :)
ти ж якраз для навчання хочеш
Ingvar Stepanyan
@RReverser
чуваки, а є якийсь аналог WeakMap в Rust?
ну в плані асоціювати інформацію з об’єктами, але без стороннього HashMap (так як лукапи будуть часто і не хочеться на них втрачати перфоманс, як власне і реалізовувати Hash для всього підряд)
Ingvar Stepanyan
@RReverser
хоча це мабуть малореально в статично типізованій мові, так як пам’ять під додаткові дані не зарезервована...
Андрей Листочкин (Andrey Listochkin)
@listochkin

WeakMap в Rust?

@RReverser а как ты себе это представляешь без GC?

але без стороннього HashMap

WeakMap внутри как HashMap и работает в языках типа JS, Java, C#

но в общем нет, разве что городить свой аллокатор и предусматривать в нем механизм для хранения метаданных
Ingvar Stepanyan
@RReverser

WeakMap внутри как HashMap и работает в языках типа JS, Java, C#

так в тому-то справа, що ні

@listochkin
в JS він просто додає приховану проперті на об’єкт
що можливо якраз за рахунок того, що об’єкти аллокуються з запасом (ну і що GC може їх вільно переміщати в пам’яті)
і далі звернення по weakmap уже займає O(1)
хотілось би щось подібне
Andrii
@j2ko
@RReverser а можеш навести приклад де б в Rust було б зручно мати WeakMap? Просто не можу зрозуміти що саме потрібно.
Ingvar Stepanyan
@RReverser
@j2ko тут чуть більше розписав :point_up: August 2, 2016 12:57 PM
в цілому, щоб асоціювати кастомну інформацію з кучою об’єктів отриманих із зовнішніх крейтів
з подальшим швидким отриманням цієї інформації
weakmap це робить дуже ефективно, в Rust не схоже що є механізми для цього
(як власне і в C і загалом)
Andrii
@j2ko
на думку спадає лише те що після отримання дерева з зовнішнього джерела тобі треба його "перезібрати" і покласти в ноди розширену структуру яка б уже містила додаткову інфу.
якщо дерево формується рідко а опрацьовується часто то просідання по перформенсу не буде сильно замітним.
Ingvar Stepanyan
@RReverser
ну про це писав - в принципі можливо, але теж якось купа зайвих врапперів..
і дорожче, і працювати мабуть не дуже зручно буде
Andrii
@j2ko
тут ще треба знати що собою являють ноди і що за додаткова інфа для них провайдиться - можливо тоді вийде більш точніше підібрати рішення
Ingvar Stepanyan
@RReverser
в тому і проблема, що хочеться чогось загальнішого :)
взагалі це ноди в AST-дереві, мені треба при першому проході позбирати оголошення змінних і до яких блоків / функцій вони належать, щоб далі основний прохід компілятора міг діставати в залежності від блоку, в якому знаходиться, які змінні в ньому є
Andrew Barchuk
@raindev
Привіт 👋 А на RustFest ні у кого часом коду на знижку немає?
cc @listochkin :smirk:
Андрей Листочкин (Andrey Listochkin)
@listochkin
есть билеты со скидкой для студентов, но нужно иметь нормальный студенческий.

@raindev

но вообще мы цену выставили прям впритык. И еще ребята профакапили пару моментов, так что пока конфа выходит в минус

Andrew Barchuk
@raindev
Ціна справді зовсім невисока. Дякую за інформацію, в такому разі не жаль заплатити повну вартість.
Конференції в мінус, мабуть, не рідкість. Не враховуючи JEE кх-кх Conf :smile:
@listochkin, а вен'ю спонсорував Microsoft?
Андрей Листочкин (Andrey Listochkin)
@listochkin
да, иначе билет был бы в районе 250
Ivan Ivashchenko
@defuz
Ребята, кто планирует быть завтра на RustFest, дайте знать. :)
Nikita Khomitsevich
@hamsternik
жаль, что в Берлине, а не в Киеве :D
Андрей Листочкин (Andrey Listochkin)
@listochkin
@defuz привет там передавай, у меня с визами лажа, поэтому я не еду
Ivan Ivashchenko
@defuz
@listochkin оу, это печально.( мне компания по-быстрому открыла визу в Испанию. А знаешь кого-нибудь кто едет из Украины/России?
Андрей Листочкин (Andrey Listochkin)
@listochkin
не, не знаю. Я вообще на 120% в рабооте и ни за кем не слежу