Alex
Alex
Anonymous
Мерль
ну в принципе да
Anonymous
ты типа платишь за инструкции, как только газ кончился - контракт прекращаент работу
Мерль
Денежки
Alex
ЭКОНОМИКА WINS
Alex
ECONOMITALITY
доня.
Для тех кому было лень читать чё нового в 1.19 (https://github.com/rust-lang/rust/blob/rust-1.19.0-relnotes/RELEASES.md#version-1190-2017-07-20)
Возвращение значения из цикла:
let x = for thing in things default "nope" {
if thing.valid() { break "found it!"; }
}
Альтернативный способ инициализации структур-кортежей (даже хз как это правильно переводится, tuple structs короче):
struct Point(u32, u32);
let x = Point { 0: 7, 1: 0 };
Сишные юнионы (unsafe, конечно):
#[repr(C)]
union MyUnion {
f1: u32,
f2: f32,
}
fn f(u: MyUnion) {
unsafe {
match u {
MyUnion { f1: 10 } => { println!("ten"); }
MyUnion { f2 } => { println!("{}", f2); }
}
}
}
Dmitry
а почему match unsafe? :(
andrei
Потому что юнион сишный
Dmitry
🏈
доня.
а почему match unsafe? :(
потому что C-like юнионы небезопасные
можно сделать юнион с вариантами допустим i64 и &MyObj
потом записать число а прочитать как ссылку
в общем всё то же что и с сырыми указателями и их арифметикой
Dmitry
но ведь матч на то и матч, чтоб убедиться что ты читаешь i64 из i64
доня.
как ты убедишься-то?
доня.
это просто набор байт
Dmitry
я никак, но ведь я не конпелятор
Dmitry
как и весь раст
доня.
так и компилятор никак
Dmitry
🥀
доня.
смотри, вот у enum для этого есть грубо говоря отдельное (неявное) поле - тег
доня.
которое и позволяет в рантайме определить чё у тебя внутри
Dmitry
да я понимаю так-то. но хочется чуда.
доня.
и всё заебись, только вот нужно делать интероп с сишкой, где эти теги автоматически не создаются
доня.
и когда тебе пришёл такой вот юнион ты никак не можешь узнать чё это за набор байт - число, ссылка, символ, небо, аллах или чего-то ещё
доня.
так что это на совести погроммиста
доня.
самому как-то об этом думать
Dmitry
понял, спасибо
Nardis
Утро. Пару дней назад обсуждали тормозной терминал, встроенный в VSCode. Так вот большую его часть уже переписали и релизнули в минорном 1.14.2: https://github.com/sourcelair/xterm.js/pull/670
Sherzod
УРА!
Nardis
Я вообще поражаюсь той скорости и качеству, с которыми пилят этот редактор. Буквально каждые несколько дней в минорных релизах закрывают реальные проблемы ковровой бомбардировкой пулл реквестами: https://github.com/Microsoft/vscode/milestone/49?closed=1.
Nardis
Судя по всему, с такими темпами, через несколько месяцев придется отказываться от служившего мне верой и правдой Саблайма 3 Dev-сборки.
Evgenii
Dmitry
но ведь ты круг
Dmitry
причем красный
Dmitry
😒
Anonymous
Nardis
Sherzod
А на расте есть чем рисовать?
Anonymous
рисовать?
Anonymous
reml?
Sherzod
Что за ремл? Гугление не помогает
Luger
еще был вроде какой-то фреймворк Conrod
Nardis
С Qt можно жить только на плюсах и питоне.
Sherzod
Filipp
конрод на гл, выглядит не оч, и глючил когда я его последний раз юзал. там есть демка, если не лень - советую собрать и поиграться. так то прикольная штука
Anonymous
Sherzod
Пиздец ) Опять UI в коде писать?
Sherzod
Я спрашиваю про нормальные UI тулкиты, где пишешь UI отдельно от кода.
Nardis
MS FrontPage 4.0
Anonymous
Sherzod
В notepad++
Sherzod
ну ищи сам тогда
хорошо. Спасибо за либу. Есть те, кому она как раз кстати будет.
Anonymous
JSX
Sherzod
ReactRs?
Nardis
Я пару недель назад искал возможность писать UI на современном HTML5/CSS3+, было бы круто, но нет.
Sherzod
https://github.com/camjackson/react-rs
Nardis
ReactRs?
Вебчик же, а тут вроде про системные интерфейсы говорят.
Nardis
Это grid-layout.
Sherzod
Я не джаваскрипач и не веб девелопер )
Anonymous
что тут происходит вообще
Sherzod
https://github.com/camjackson/jsx-rs
Sherzod
таблицы для табличных данных. Ими и сейчас пользуются
Nardis
Выше речь была про электрон, который создает локальные приложения в браузере под видом программы. Все, что вы тут кидаете — это server-side рендер Jsx для веб-приложений, не гибридных. Электрон работает только на ноде.
Nardis
таблицы -> блоки (флоуты) -> блоки (флекс) -> блоки (гриды)
Sherzod
эмм...
Nardis
Гриды позволяют достаточно просто строить оч сложные сетки макетов. Управлять responsive-блоками на разных размерах экранов с разным объемом и видом контента.
Nardis
Nardis
Если бы подобным образом можно было делать интерфейсы для системных приложений, то, во-первых, не пришлось бы разбираться с еще одним (явно менее гибким) языком разметки, во-вторых, можно было бы делать очень гибкие сетки под все платформы (от часов до 4К+ экранов).
Nardis
И при этом не использовать под капотом nodejs.
Nardis
Да, для десктопных.
Nardis
"Это" для каждой из перечисленных платформ — свой язык разметки. С которым надо разбираться, наступать на грабли и знать, как городить костыли.
Nardis
Мой пойнт в том, что все это можно и нужно обойти, используя тот язык разметки, который а) имеет наибольший охват, б) быстрее и лучше всего развивается. То есть html + css.
Nardis
Дотнетовский XAML — редкое говно.