Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    WladWlad
    @WladWlad
    Кстати, чисто из любопытсва - на Хабре виде новость про самый большой процессор - 22 см на 22 см 400 000 ядер.
    Но почему-то всего 18 Гб памяти - это про кеш?
    Denis Lisov
    @tanriol
    А может, этому всё-таки место в оффтопе?
    WladWlad
    @WladWlad
    Да я откуда знаю где у вас оффтоп - я и сюда то попал случайно.
    Denis Lisov
    @tanriol
    WladWlad
    @WladWlad
    Мерси.
    WladWlad
    @WladWlad
    Я помню, что мне где то попадалось, что в одном случае употребляется "type", а в другом - "kind", но я не помню что и как и не могу найти.
    Denis Lisov
    @tanriol
    kind как ключевое слово вроде бы нигде не употребляется в языке. Возможно, речь шла про разницу между type NewName = SomeKnownType; и struct NewType(SomeKnownType);?
    Есть ещё разные вариации на тему ErrorKind, но это чисто вопрос выбора названий типов.
    WladWlad
    @WladWlad
    Вот как автор пишет - "Ha! We need to specify the shader type. Let’s improve the function signature and add the shader type to it. type is a reserved keyword in Rust, but we can name it kind:"
    Denis Lisov
    @tanriol
    Он имеет в виду, что по логике этот параметр должен был бы называться type, но такое имя является ключевым словом и назвать так параметр нельзя (вернее, можно, но писать придётся r#type, что неудобно). Поэтому он просто использует другой синоним слова type, который не является ключевым словом.
    WladWlad
    @WladWlad
    Я это понимаю, но вопрос в том, что я могу использовать только "kind" или любое слово?
    Denis Lisov
    @tanriol
    Любое, которое поймёт тот, кто будет читать твой код :-)
    WladWlad
    @WladWlad
    ОК. А где об этом можно прочитать? Я же говорю, что уже сталкивался с этим.
    Denis Lisov
    @tanriol
    О чём именно? Список ключевых слов, которыми нельзя назвать переменную/параметр?
    WladWlad
    @WladWlad
    Да нет, я именно про kind.
    Вот в книге глава "Псевдонимы типов", но там про это ничего нет.
    Denis Lisov
    @tanriol
    Так и не должно быть. Ещё раз, слово kind не является ничем особенным, это просто одно из английских слов со значением "тип". Автор просто выбрал из этих слов такое, которое не является ключевым словом.
    А мог бы вместо этого назвать type_, например, но это как-то не очень красиво.
    Или мог бы назвать shader_type, но это как-то длинно.
    WladWlad
    @WladWlad
    Да я о другом - вот откуда я могу знать, что вместо "type" я могу написать "kind"? Где-то это должно быть оговорено.
    Это ведь не "само собой разумеется".
    Denis Lisov
    @tanriol
    В смысле откуда ты можешь знать, что можешь называть переменные как вздумается? :-) это же тупо название переменной, какое хочет, такое и выбирает, само собой.
    WladWlad
    @WladWlad
    Но ведь "переменная типа" называется "псевдоним" или я что-то путаю?
    Denis Lisov
    @tanriol
    Псевдонимы - это про типы данных в программе, это не про то. Тут у него просто переменная, описывающая, какой именно шейдер он обрабатывает, но на типы на уровне Rust она не влияет.
    WladWlad
    @WladWlad
    А двоеточие обозначает тип переменной?
    Точнее - то что ЗА двоеточием?
    Denis Lisov
    @tanriol
    Да, после двоеточия стоит тип переменной.
    WladWlad
    @WladWlad
    Понял, спасибо, а то я считал "kind:" еще одним способом определения псевдонима.
    Psilon
    @Pzixel
    Нет, просто человек хотел назвать переменную type, но это кейворд и компилятор не даст его использовать
    поэтому придумывают извращения
    кто-то берет синоним типа kind, кто-то (в стд например) убирает буковку и юзать typ или просто ty
    а вообще почитай растбук
    там в первой главе раскказано, как объявляются переменные
    WladWlad
    @WladWlad
    Угу, я и объявлял - "let" и "let mut" и до сегодняшнего дня мне вполне хватало. Вот чем и хороши графические программы - в них столько всякого напихано, что пока разберешься и язык выучишь.
    WladWlad
    @WladWlad
    А на счет книг - там даже не написано, что под GCC и MVS нужны разные сборки Rust.
    Psilon
    @Pzixel
    как угодно
    Alexander Irbis
    @alexander-irbis
    Я тоже часто в названиях использую kind вместо type. По смыслу эти слова похожи, но нет коллизии с ключевым словом. В других случаях приходится извращатсья заменяя на type_ или typ. Хотя уже достаточно давно есть специальная форма объявления идентификаторов, которые по написанию совпадают с ключевыми словами, что-то типа r#type. Использовать ty тоже не всегда хорошая идея, поскольку это уже будет конфликтовать с определением "тип" в шаблонах макросов (хотя это не такая проблема, как конфликт с ключевым словом).
    Psilon
    @Pzixel
    r#type это просто rtype по сути)
    Denis Lisov
    @tanriol
    В смысле?
    Psilon
    @Pzixel
    ну если подумать
    то r#type
    это просто имя
    это не type
    можно было бы писать люббой другой префикс
    разница только в том что так принято и ИДЕ может его прятать
    Denis Lisov
    @tanriol
    Вообще не совсем :-)
    Psilon
    @Pzixel
    ну а в чем еще?
    если я назвал r#type какая магия мне доступна по сравнению с каким-нибудь myprefix_type?