3. Функции, операторы управления, структуры (Курс Rust на NEAR)
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
Все видео курса • Курс Rust на NEAR (RU) Совместный курс NEAR & 4ire Labs
Подписывайтесь, чтобы получать обновления о новостях NEAR, акциях, запуске проектов, баунти, хакатонов Русскоязычное сообщество NEAR t.me/near_protocol Твиттер / near_protocol
Follow the latest from NEAR Protocol on: Website: near.org Discord: near.chat Blog: near.org/blog Twitter: / nearprotocol GitHub: github.com/near github.com/nearprotocol #Blockchain #FutureIsNEAR #NEAR #nearprotocol
Transcript
7,699 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:00
рад приветствовать вас на третье в нашем уроке по 1 школе сегодняшняя тема у нас называется faction скандал хеллоуин struts особо внимательные люди могли заметить немного изменили название темы но это потому что мы во время разработки смотрим каким темпом и сшиваем их как взаимодействовать с вами и и поэтому мы можем немного изменять темы их содержания во время курса но это будут незначительные в основном направлены как раз для того чтобы у нас было больше времени разобрать ту или
- 0:39
иную тему и наоборот меньше выглядят время на те темы которые менее важно начнем функции функции в россия определяются с помощью ключевого слова нету звука круто функция предается с помощью ключевого слова просто возможно уже видели на предыдущих занятиях и стоит отметить что функции в расте по стандарту поход стоил гайд всегда используются nike star это также актуально и для переменных что строки ставила для тех кто не знаком с этим
- 1:34
синтаксисом это когда собственно первое слово начинается с маленькой буквы последующие слова тоже с маленькой буквы и они разделяются нижнее подчеркивание это стандарт вырасти такой стиль и и более того если вы будете использовать канглы эти команду которую про которую же не рассказывал на прошлом уроке эта команда будет скажем так заставляет вас использовать именно такой иначе это будет как ошибка стиля
- 2:04
более того хочу обратить ваше не бреши такого внимания так как уже на третьем уроке же справедливо можно сказать что вы стали не путаться раз сама нам это слово station называется скажем пользователь член комьюнити раз сообщества поэтому теперь каждый из нас может считать с простейшим аргументы функциях при этом передаются вот таким вот образом то есть как вы можете увидеть точно так же как и с объявлением переменных с похожем стиле
- 2:48
сначала идет имя переменной потом youtube и неограниченное количество аргументов и так можете придавать образу на примере конечно стоит отметить что если вы пытаетесь написать функцию для которой вы не будете указывать тип в сигнатуре функции добра аргумента это синтаксической ошибкой такое решение в россии было принято осознанно это решение было принято до того чтобы раз всегда могут сделать правильно выведение типов то есть когда вы передаете вот аргументы в эту функцию
- 3:29
раз сразу можете сделать соответствии ваших параметров тех которых и передали в эту функцию и тех которые фактически в этой функции то есть как мы до этого говорили что так как просто нету неявного приведения типов вот если допустим в эту функцию который называется самарин принтер зал которая суммирую два числа и выводят их на экран если вы в эту функцию которая как убедить принимает два аргументы типа ue 32 если вы в нее передадите скажем один из
- 4:03
аргументов или оба из аргументов живого другого типа пусть это даже будет а и 32 или айсайсайс это будет ошибка на этапе компиляции это очень удобно опять это приводит к может тезис о который я озвучивал на самом первом нашем уроке это то что в россии почти всегда если ваша программа комбинируются то она будет работать правильно то есть очень сложно будет сделать ошибку передать не нужно параметр потому что вас просто иначе низ компилируется программу и поэтому при написании программ на расти
- 4:42
вы в первое время будете очень часто использовать компилятор смотреть его ошибки и как же не рассказывал вам на прошлой лекции вы часто будете использовать команду карпыча которая по сути делает проверку вашего хода на то конкурировать он или нет но эта команда просто работает быстрее чем команда korra также стоит отметить такой вариант описание функции очевидно что нам нужно функцией также которые возвращают какое-то значение и в данном случае для того чтобы
- 5:23
возвращать какое-то значение у явно должны указать этот тип через стрелочку и соответственно этот тип конечно же также должен совпадать с тем который вы возвращаете то есть в данном случае у нас работает все окей потому что говорил происходит выведение типов данном случае мы передаем два три цветных числа без знаковых в эту функцию самый вес и компилятор раз определяют что переменная
- 5:58
сам будет тот же типа идет 32 это происходит выведение типов и таким образом мы возвращаем результат используя ключевое слово return но я думаю такой синтаксис возвращение функции он знаком с индексом что вас будет не знакомо и это следующий синтаксис в данном случае как вы видите ровно та же самая функция тоже возвращает ее 32 привет как вы видите у нас вот такой вот кажущаяся на первый взгляд странное выражение прошу обратить внимание что в конце
- 6:42
этого выражения нет ; и это не ошибка как раз в данном случае это правильный вариант если вы напишете здесь точку , это будет ошибкой компиляция сейчас объясню почему обратите внимание в данном случае у нас мы использовали ротор он сам с точкой за которых конца в данном случае точки за твой в конце нет почему так происходит раз это язык программирования основанные на выражениях который называется expressions и так же братья statements который на
- 7:20
ручке приводится как утверждение что же такое эти statements statements они не возвращают значение примеру такого statement до вас это вы можете написать с использованием ключевого слова лекс которая вам лицензирует и создает переменную и в данном случае это выражение не возвращает значение соответственно многие кто пришли из таких систем java привыкли написать выражение так int эйрарбии равно 5 и
- 8:04
тех языках программирования это работает ok врасти такой работать не будет почему не будет работать до потому что это будет ошибкой компиляции ошибка компиляция будет именно потому что в данном случае когда вы пишете ключевое слово лет вы объявляете statements мне взять это является стоит ментам но этот statements право ожидает увидеть какой так страшно отображение в данном случае 5 это выражение поэтому вот эта часть это
- 8:37
валидный код и он компилируется вот этот код будет невалидным потому что вы пытаетесь стоит моменту присвоит statements и это является ошибкой насколько я знаю про в принципе ведется работа над тем чтобы сделать похожее конструкции скажем доступным иногда использования но на данный момент такое запрещено и я думаю те кто уже имеет опыт написания в продакшене сами понимают что вот использование вот таких вот чем конструкции присваивание это плохой стиль написания кода или потом
- 9:19
очень сложно находить ошибки в таком горе да и в данном случае как вы видите вывод компилятора о том что ожидалось выражения при этом получили стоит над лет также есть еще другие типы statement of но на текущий момент это не так важно о них задумываться поэтому мы упомянем о них позже свою очередь о выражении они всегда возвращают какое-то значение то есть они исполняются и возвращают какое-то значение вот взять опять же наш пример там из в данном случае эй плюс b это
- 10:02
выражение это выражение которое возвращает тип ue 32 потому что входные параметры были типа не 32 а это выражение возвращает тип you 32 и соответственно поэтому это будет возить вот опять же если вы в этом выражении сделался вдали бы какое-то выражение скажем которое будет возвращать тип f32 то есть число с плавающей точкой например вы бы попытались разделить ее на by the без явного преобразования
- 10:35
получили ошибку компиляции потому что компилятор вам бы сказал что эта функция ожидает возвращать выражение типа ue 32 но при этом получила выражение типа f трицикл перед он оператором исполнения так я кстати вижу сразу максим в чате пишет до такой вариант работает но в данном случае это не объявление переменных в одном месте это присваивание конкретно оператор лет является statements а значение переменной это уже не statement это выражение
- 11:25
перейдем к операторам управления программой в россии существуют такие типы как такие траты как ив лук while и for собственно перейдем к ним я сразу вижу николай пятна писал пример и бесси равняется 1 и 2 в данном случае это не такой же аналогичный пример такой пример мы рассматривали на первой лекции в данном случае это пример который используется я постараюсь на текущий момент не очень
- 12:10
языка со начаться 5 при этом будет находиться явление которое будет отвечать на ваши вопросы ну чтобы я не отвлекался от x и у нас обычно такая структура весь один из нас идет и все другое помогают отвечать на вопросы собственно перейдем к контроллеру простой оператор if с которым вы знакомы в россии собственного таким образом же отличие допустим обязательно использование скобок вырасти это необязательно поэтому просто можем
- 12:50
использовать вот таким образом оператор if также конечно вы можете использовать elseve и сразу обращу внимание кто-то может мать это мелочь но вот вставил это очень важно как вы видите скобки расставляются таким типом такой такая статистика кода если кто-то из вас знает называется обычно оставил которые распространены один из распространенных все или также которые называются самый правильный единственный правильный стиль скобок да так жаргоне и прости это
- 13:35
тоже обязательное условие если использовать какой-то свой стиль оставление скобок то это будет ошибка когда вы будете запускать проверяют форматирование кода что необычного есть даhкаh джohc власть это оператор с ним бы вы я думаю многие до многих из вас это впервые собственно для чего нужен этот оператор этот оператор позволяет выполнять вот неограниченное количество раз то есть это бесконечный цикл
- 14:18
тупик сизо как программирование знать это допустим с после использования например duvall и так далее его который меняется значение этой переменной до условия позволяя первый раз всегда выполняться но раз пошли были простыми более правильным путем и соответственно вот так где-то оператор дуб у него нет никаких условий это бесконечный цикл конечно чтобы цикл вас не был бесконечным вряд ли вы хотите такой к своей программе для этого вы используете точно такое же ключевое слово break
- 15:01
наповал других языках программирования и вот такой небольшой пример более того хочу сразу обратить ваше внимание если вы посмотрите на предыдущий слайд я с написал в клуб взял фигурные скобки и в конце не точке , то есть это правильно в данном случае тут . , требуется если вы посмотрите здесь здесь здесь в конце есть ; рассмотрим почему же так потому что в данном случае нам лук позволяет с помощью конструкций break возвращать какое-то
- 15:42
значение из цикла в данном случае вот у нас есть такая подставка которая выполняет команду пинг н таймс знакомы также это способ достучаться до ваших коллег телеграме собственно вы хотите вызвать команду клингон таймс и вы его передаете собственно это значение n сколько раз вы хотите выполнить команду пинг в данном случае это простой 2 строки pink мы создаем счетчик которые являются данном случае моим рисуем ноги и мы
- 16:20
инкрементируем на каждой итерации этот счетчик на единицу этому на сайт условия что если счетчик до становится равным переменные мы вызываем конструкцию break к утру в данном случае брейка und alle рвет заполнение этого цикла и возвратит как результат выражение со значением к утру то есть в данном случае почему нас здесь конца . , потому что вот этот цикл ну вот он при этом возвратит вам выражение которое будет равно а переменной к утру и это выражение присваивается переменной
- 17:02
раза и соответственно вы вот можете написать вывести строку что мы практиковали резалт раз в данном случае будет равен вот этому значению переменной caught the синтаксис я думаю тут мы подробнее будем разбирать позже но если вот так операция то с помощью фигурных скобок использовании макросов print line мы можем форматировать нашу строку в данном случае это простое форматирование на место бурных слабо ставится значения переменной золото
- 17:48
также у нас есть очевидно это while-цикл и то есть тот же самый код можно написать использовать такой таких такую конструкцию в данном случае добавил точно также не требуется наличие круглых скобок как все курс вы просто рот опять же while здесь вы ему условия указываете в данном случае это условия а также является выражением и опять же в данном случае у нас идет просто форматированием этой строки хочу хочу сразу обратить внимание
- 18:36
что если я показывал с помощью мы можем возвращать значение значение возвращаются с помощью брейк и потом собственное выражение в цикле при использовании цикла while мы не можем использовать вот такую конструкцию то есть break the cycle обоим это будет просто брейк . , и в данном случае прерывается выполнения цикла возвращать значение таким образом из wild не может и конечно же самые распространенные
- 19:16
операция это for власти вы его будете использовать чаще всего здесь тоже достаточно такой удобный синтаксис то есть когда вы хотите скажем же самую функцию с использованием цикла for эта функция вас будет следующим образом то есть у вас указываете for дальше указываете вы переменная которая будет всегда итератором яндекса и требующим индексом опять-же забегу наперед это может быть
- 19:57
любого типа но которая возвращает вас выражения но оно должно позволять делать операцию подробнее насчет этого насчет рейдов мы рассмотрим позже здесь мы указываем собственно range то есть диапазон чисел данном случае я указываю что от 0 до n и в данном случае вот такого типа выражения оно будет равно тому же типу когда вы указываете меньше чем n если вы хотите сделать для того чтобы было условие ой меньше или
- 20:40
равно n вы можете написать врасти вот так что конечно же бывают очень удобным при этом конечно стоит отметить что это уже будет не pink and also talking us one time теперь перейдем структурам структуры врасти вы будете использовать да саша часто то есть можно какую провести аналогию со структурами если помните на первой лекции мы с вами рассматривали tops или карте ржи то есть этот тип данных которые позволял себе
- 21:24
содержать содержать переменные различного типа тоже данном случае если мы сравним с массивами тот массивах все переменные одного типа the pools позволяют делать переменные разного типа структуры позволяют вам структурировать весь структурировать похожий концепт как staples и в данном случае у вас в этих переменных еще будут еще будут именно и это уже более близко понятию классах которые есть сейчас к и программирование
- 22:08
как сиси java и так далее прости нету классов обрасти есть в чем отличие классовая структура по мы да кстати нету класса это чем отличие от классов мы рассмотрим позже когда мы будем рассматривать эту тему как строителя как определяется структура структура волос тракт и потому как название структуры и дальнейшем мы часа имя поля структуры через двоеточие его тип то есть синтаксис ровно такое же как при пилении переменных при передачи аргументов
- 22:58
при указании их сигнатуре функции также более того внимание это на самом деле мелочь но это очень приятно мира страсть в конце даже когда самое последнее поле у вас вы можете ставить запятую для некоторых может показаться в чем здесь преимущество почему , на самом деле тренд очень удобно то есть те кто из вас работает сбит вы можете себе представить несколько раз не позволял структуры указывать запятую соответственно здесь бы не было , а потом если бы вы хотели
- 23:38
добавить структуру вам бы можно было спасать запятую и добавить новую новое поле в этом баре скульптуре но конечно в таком случае текст работы питон понимает что div то есть различия между одинаковыми баллами жена кодами кодовыми базами будет ни одна строка как случае с 1 потому что вас конце идут две строки это такой небольшой оффтоп но это на самом деле приятная пища а когда вы
- 24:12
начинать работать с вас как происходит инициализация структуры втором случае вы опять же вот пример мы можем увидеть что инициализация происходит таким же явным образом то есть мы указываем название переменной ее значение название переменной и значения и конечно же в данном случае типа этих переменных должны совпадать между собой в данном случае вы видите преобразование происходит мы вызываем функцию from string и
- 24:53
здесь мы уже передаем с мусорку как я раньше упоминал про себя есть два типа строк поэтому если бы вы здесь указали бы просто имеем и кавычки юзер ван mail.com это было бы ошибка компиляции потому что это п.п. любой тип строки не такой не стрельба с большой буквы и это было бы ошибка поэтому здесь нужно тоже делать явные преобразования типов точно так же если вот здесь более pixelphone если бы вы попытались сюда передаются написали были явно 4232
- 25:33
это было бы так же ошибка компиляции также хочу обратить ваше внимание что здесь порядок mt active а здесь имеем жирный коллектив и то есть как увидеть в порядок инициализации болеть другой это разрешено делать прости это не ошибка компиляции но конечно же хороший хороший тон хорошим тоном считается когда вы не солировать и переменные в том же порядке которым они объявлены самости кури
- 26:14
как обращаться полям этой структуры после ей инициализация в данном случае так как мы хотим изменить понятия структура а мы с помощью бьют который то есть мы позволяем явно указываем переменную user вон она является дефицит то есть мы ее можем этих офицеров и в данном случае доступ к поля структуры происходит через точку то есть явного позором что для ванн . each равняется данном случае здесь нет
- 26:56
синтаксис используется часто все плюс стрелочным так происходит обращение через точку как же есть ли какая-то возможность инициализировать 2 пользователя которой допустим у вас содержит практически все данные такие же как у любого другого скажет шаблонного пользователя но какие-то значения будут отличаться до для этого есть способ в данном случае вы можете видеть что мы также создали юзер вам это такой же пример как был на предыдущем слайде и теперь мы не хотим
- 27:39
инициализировать и создать юзеры 2 юзера который будет содержать все те же поля что юзер ван при этом будет только незначительно сейчас какие такие поля он допустим мы можем считать 101 юзер это тимплей юзер потом мы можем создавать последующих пользователей которых будут все те же значения полей катеру template новая пользователя то есть шаблонного пользователя но какие-то поддаются
- 28:10
встречался в данном случае мы делаем следующим образом мы создаем юзера то а также указываем явно что feder указывает валяем ее указанию жирные потому что очевидно да эти поля сто процентов у нас должны быть уникальными опять же это уникальные с точки зрения концепта до нее с точки зрения языка программирования раз том случае мы указываем что у нас будет вот таким another маяком нежирный
- 28:44
будет another user и потом обратите внимание такой вот синтаксис указать две точки и указываем юзер ван то есть название переменной вот того вот это название переменной что произойдет этот момент в данном случае у нас будет создана структура в которой более быстрого имандра мелком юзер нэйм будет равен another user и при этом так как вы указали с помощью такого синтаксиса использованием остальных значений из переменных жир ван то соответственно у
- 29:25
нас актив будет ту в этом пользуется и речь будет 42 как именно происходит такая инициализация и как делать более сложных типов структур это мы перейдем к теме трэйд на следующих лекций а также в россии есть такая удобная штука до работа со структурами допустим вот у нас есть функция google user которая возвращает видите переменную типа юзер и соответственно видите это сигнатуре сайт
- 30:12
принимают при перемены эти костры и возвращает юзера обратите внимание детстве здесь я явно указывал что имеем : значение дежурным по это очень значение 42 здесь как вы видите я просто указал имеем я указал ей жирный и указал актерству здесь как вы видите не туда .
- 30:43
в данном случае вот такую штуку то есть вы конечно могли бы написать имеем . email username : жирный вот так как в данном случае у вас название аргументов функции совпадают здесь и здесь и здесь и жирной здесь южной вы можете использовать вот такой это xyz это синтаксис тоже такой достаточно очень удобно когда надо работать обязательно оцените это более того если вы будете запускать enter на своем
- 31:23
коде которые описали на 1 и вы писали на лица либо эту функцию так как я говорю и моя дочь и имел очень юзерами вам за счет этого будет выдано предупреждение о том что вы можете использовать вот такой синтаксис который является более читаемым то есть принципе основное такое свойство рассказ на классные да разработчиков она конечно нельзя сказать что он основное но это я бы сказал очень классных свойств роста нас
- 32:00
является очень хорошо читаемым языком программирования то есть даже если провести сравнение с тем же гол моё личное мнение и мнение выходе кто работал искусству и скажем из моих знакомых коллег что раз при этом является более читаемым и более гарбуз более вербальным более понятно что происходит конкретно вашей программе 1000 не кода на раз по сравнению со многими другими соками
- 32:35
также в россии есть такой замечательный тип как-то пол структуры для чего используется какие типы куры что это вообще такое это такой тип структур который позволяет иметь поля в этих структур и которые не будут меч какого-то явного названия то есть по сути это тот же самый тупой но такая то именованный можно так сказать данном случае например нам нужно создать структуру которая будет содержать себя руки полях допустимо считаю что эта структура
- 33:21
используемая не нужно каких-то явных имен читающий этот код будет явно знать что значит полей данном случае мы образуем что эти эти все поля этой структуры будут типа аль 32 и соответственно у них как видите нету имени как мы инициализируем такую-то пол структуру мы указываем сколов и и тип color хотя вот вот эта часть конкретно она не обязательно потому что после оператора присваивания как вы видите у нас идет
- 34:03
спор и соответственно произошло при проведении типов но в данном случае это указано явно для наглядности мы указываем значение этих полей структуры конечно рисовые попытаюсь здесь указать 4 значения или два значения то есть это будет ошибка компиляции в данном случае обязательно количество аргументов должно совпадать с количеством поливе ступку и в данном случае обращения поля в эти структуры происходит через точку и через яндекс то есть данном
- 34:46
случае под индексом 0 до 255 и это будет проект попадай яндексом единичка будет 28 это будет брин и под индексом 2 будет 128 и это были также давайте рассмотрим такой пример как собственно то есть прости отвечает тоже с ним прости рст васу структуры здесь также можно сказать методы и конкретно как как указать и реализовать эту структуру то есть указать какие методы есть в этой структуре в
- 35:33
дальнейшем мы рассмотрим еще также как указывать дополнительные свойства эти структуры каким поведением оба обладает эта структура но на текущий момент мы рассмотрим собственно как объявить методы структура данном случае у нас есть такая структура пил морщин это продолжаем наш пример даспин как мы делали до этого смотрели в этом случае это структура содержат только два поля чапаев says реализации этой структуры происходит с
- 36:08
помощью ключевого слова что собственно и как переводится как реализация здесь мы это у нас эта структура у нас содержит два метода первый из них это метод get more time ступин то есть этот метод можно сказать что мы реализовали это питер в данном случае это как бы из того же контекста программы конечно можем получить доступ к этой к этому полю структуры но enter это как пример обратите внимание этот код он принимает себя аргумент типа амперсанд сел
- 36:56
в данном случае это говорит о том что этот метод он принимает ссылку на нашу структуру и причем эта ссылка дней изменяем то есть в этом методе если вас такой стик натурой вы не можете значение изменить значения полей структуры и собственно что мы сделаем мы возвращаем значение переменной танк ступин обратите опять же акцентирую внимание о том что эта функция возвращает юзай с и
- 37:33
это просыпаюсь с и также что я акцентировать хотел потому что вначале и разработки на 1 чашка с этим сталкиваться с точками за который без точек за которые в данном случае как видите нету точки , потому что это является выражением я сразу вижу вопрос михаила гитара вид не использует фрости большинстве случаях так как я сказал который обычно они используют но допустим вы в данном случае у нас простого выражения который возвращает значение поля но у нас может
- 38:14
быть более комплексно выражение которое скажем будет производить какой-то арифметическую операцию с этим полем допустим вы послушали time ступин умножить на 10 по какой-то причине у нас была какая-то иди в данном случае это демонстрации того что этот метод он принимает неизменяемо ссылку на сам сел в данном случае тоже самое как скажем в языках то есть эта ссылка на текущий экземпляр класса
- 38:55
объекта машин если вы попытались сделать ступин скажем три . попытались изменить значение этой переменной это было бы ошибкой компиляция ну и как вы помните по умолчанию 1 если вы явно не указываете что это изменяемый объект изменяемая ссылка он является не изменяем вот он при этом у нас есть функция pink которая принимает ньюта blu ссылку на sell то есть в данном случае таким синтаксиса вы указываете что вы можете изменять значение поля этой
- 39:36
структуры и это не будет ошибкой комбинации это ожидаемое поведение поэтому когда вы пишете когда вы пишете свою программу если какой-то методов своей структуры если вы с самого начала ожидайте что этот метод не должен изменять значение вашей структуры всегда оберегать его как вот такой если хотите знаете что вы точно хотите модифицировать вы это был сон вижу вопрос от виталия темам youtobe дети и он ищет мы будем
- 40:12
проходить позже связи с тем что до текущего концепта нам не обязательно понимать ночь оттенок достаточно объемными по-хорошему нужно понимание структур и других инструментов языка поэтому полностью примет обидеть и будет после в данном случае нас нет pink как вы можете зависеть мы используем здесь if-else и у нас скажем такая трасса вольт указываем что есть у нас больше нулей попыток допинга осталось мы выводим переменной pink
- 40:55
выводим строку пинг и займите и уменьшаем наш счетчик на единицу если уже мы использовали все использовали все скажем попытки open готов мы даем такую строку что больше не осталось пингов то есть если мы рассмотрим такой пример вот здесь мы создали переменные типа pink морщин и сказали что три раза хотим пропинговать и вызовем четыре раза видим такой вывод то есть пинг пинг пинг номер kings я думаю это ожидаемо небольшая демонстрация при этом обратите
- 41:42
внимание так прошло прочтение так как у нас здесь мы указание что этот фильм машин измеряемый объект это важно потому что как вы видите метод pink он принимает ньюта был ссылку соответственно если мы хотим вызвать этот метод pink по у нас и объект на котором мы вырезаем этот метод он тоже должен быть metal соответственно если мы мы бы убрали вот это бьют отсюда и просто было бы лапин
- 42:22
машин мы бы получили ошибку компиляции компилятор на бы явно сказал что этот pink является мутабельным то есть он позволяет модифицировать поля структуры но при этом мы явно не указали что мы позволяем модифицировать поля этой структуры и соответственно вы не сможете скомпилировать эту программу это будет ошибка компиляции также стоит отметить что в 1 если по какой то причине вы захотели разделить
- 42:57
реализацию методом на несколько блоков методов структура несколько блога вы можете это сделать с использованием нескольких блоков импалы вот в таком случае это не будет ошибкой это полностью разрешается вырасти конечно такого конкретного примера это не является хорошая практика так использовать такой тип все-таки лучше такой программы лучше все-таки использовать один блок ему но если по какой-то причине вам очень нужно вы
- 43:33
можете использовать вот несколько блоков гимпл один патрике тогда для чего возрасте это собственно изначально сделано это мы рассмотрим мы рассмотрим с вами позже и этого солнце озна generics раз забегу наперёд generics раз мы детально рассматривать не будем потому что в рамках этого курса мы считаем это объемная тема но если у кого-то из вас есть желание добиться после в эту тему то вы конечно то можете сделать опять же
- 44:14
ресурсы которые мы рекомендуем это cargobull извиняюсь карта бук я между ресурсы который мы в принципе советуем до изучение 1 это 1 это 1 в 2 и это карта до начала эти такие три книги это самый формат каждое значение роста вы можете это сделать на сайте раз конечно на сайте раз это будет на английском языке но в принципе по 1 достаточно много хороших материалов то есть конкретно по
- 44:49
родству мы считаем что существует множество хороших материалов и целью нашей школы было не заменить тот же разу не заменить боб цели нашего курса изначально является скажем преподнести материал с другой стороны и мы стараемся скажем преподнести топот множества тот минимум который необходим и как мы считаем до понимания раз контексте разработки smart контрактов на нее и на то есть в данном случае конечно от нашего курса вы можете ожидать вот такого минимума которые нам понадобятся
- 45:36
для работы но более подробно конечно же разбух материал всей книги мы сто процентов не рассмотрим во время курса что-то мы будем какие-то скажем важные нюансы мы будем здесь рассматривать но весь объем книги вы конечно не рассмотрим если у кого-то есть желание время вас уже заинтересовал раз это очень приветствуется если вы уже начали проходить раз в чате мы видели что уже многие
- 46:07
проходят эту книгу за той дополнительные вопросы это очень круто это приветствуется наш пульс мы все же структурируем с расчетом на то что люди в первую очередь знакомиться с 1 то есть какие-то примеры у нас смогут небольшие дублироваться из книги книгу советуем всем но если у вас скажем вы захочет заняты работой на текущий момент у вас есть время посещать наши курсы скажи мне какое-то небольшое время
- 46:37
чтобы усвоить материал это тоже руки классно надеемся наша цель чтобы после нашего курса вы заинтересуетесь или раз ты с март контрактами и вы продолжите свое дальнейшее изучение но база у вас уже какая-то будет то есть вы сможете понять какие-то преимущества но книги материалы по 1 который на официальном сайте раз они очень классные и всем очень советую перейдем теперь к вопросам
- 47:13
[музыка] первый вопрос создаю тальник ширина как generic на вход и выход платить день ответил на этот вопрос но как я сказал generics мы будем рассматривать скажем очень поверхностное очень немного более детально это может быть прочитать в расходе разбух и зритель 32 32 может быть переполнение раз не проверят это хороший вопрос как евгений ответил это параметр сборки ну так же
- 48:01
брайс ли вы можете использовать для этого явные методы который будет проверять если переполнение или нет и дальнейшего сможет обработать результат этой проверки обработка ошибок это тоже будет одна из стен нашего курса это будет вкусно если спа ведь перемену цыпой указать как ее изменять были классического цикла for как всегда вы происходит изменения индекса на 2 как же не правильно ответил это можно сделать через циклы while
- 48:47
также через итераторы это тоже мы забегаем очень наперёд и когда мы будем рассматривать тему связаны с тратами связаны с пиратами создана функциональными возможностями языка 1 до то можно сделать это явно с использованием допустим того же ставь 2 указать и данном случае у вас может быть шаг на 2 у вас шаг может изменяться также покупок с помощью какого-то выражения да это можно сделать мы это рассмотрим позже если интересно как это
- 49:18
сделать dota и это можно посмотреть и фраз книги и напишите пожалуйста в telegram конкретный вопрос напиши нам reference на эту часть где-то можно найти книги раз какая-то она литература на русском этот звук на английском на сайте да здесь несколько несколько книг которые вот и вижу ребята прислали в комментариях большое спасибо вам что сразу прислали сумки да есть перевода 1 2 на русский насколько я знаю
- 50:00
этот проект он не всегда может быть обт ударит не всегда актуальный поэтому конечно есть какие-то книги на русском по поводу раз все же мы советую читать на английском английский маст хэв до разработки вас во-первых вы будете читать сама актуальную информацию в книге раз во вторых документация кроить который будете использовать при разработке она скрипит только на английском поэтому английский дамаска очень советуем читать на английском материалы на русском есть
- 50:39
конкретные скажем я не посоветую только дать и попытки перевести на русский но опять же эти русскоязычная версия 1 2 она может быть не актуально потому что книга регулярно обновляется но собственно наш курс мы поэтому изначально и вы сделали на русском потому что до этого мы планировали его сделать на английском потом мы поняли что русскоязычного материала недостаточно возможно будет пара всд и
- 51:10
поэтому пацан каким роста на русском языке мы вас не хотим научить а в дальнейшем мы надеемся что вас это заинтересует гибелью скажем вдохновитесь даже подтянуть свой английский чтобы уже более детального смотреть книги раз и читать документацию на английском если что-то форме action jabra chill armani по сдаче меня к лету украинцев режим 1 как уже не ответил это да это не безопасная операция и
- 51:52
черная магия такая черная магия евро тест из-за этого книга 1 навиком которая позволяет делать вам самые такие хитрые штуки которые многим людям не понадобятся при разработке на 1 и скажем обычно разбухли не содержит информации но красными плане вы можете найти ту информацию на подобные вопросы так я сейчас посмотрю еще вопросы в чате если такие и кстати во время лекции я обращу внимание что
- 52:29
многие писали с чат вопросы просьба все-таки до этого в дальнейшем использовать специальную сердцу as creation комментарий по поводу что это вам тебе но не кндр я об этом упоминал что это единственный правильный скобок как называется между кнр и ремонте без очень много свойств и очень часто происходит размытие что к чему собственно принадлежит комментарии только в раз 10 проще и вакансии 10 15 раз больше в какой-то степени я согласен по степени
- 53:24
согласен то есть вот лично для меня я писал ногой на 1 как один говорил мой коллега который очень долгое время огромного огромного раз он говорил так чем больше я пишу на гру тем больше мне нравится 1 я сниму очень согласен потому что действительно когда вы переходите с раз вам может показаться что спорта можно сделать быстрее удобней но после того как вы поработать какое-то время на расти вернуться назад на углу будет немного болезненно и вы будете очень часто ощущают что вам не хватает
- 54:06
того что и страсти и по поводу вакансии такое утверждение было актуально еще скажем три года назад на текущий момент аппарат огромное количество вакансий да сейчас огромная часть из них это конкретно связанные с блокчейн то есть как раз забегу так немного наперёд огромное количество вакансий сейчас есть по поводу substrate polka dot есть вакансии для них блокчейна возможно если у вас у кого-то из вас есть опыт облучение но нет опыта роста возможно даже вам
- 54:44
приходят на на том же скажем глинки дыни какие-то офферы по поводу проектов нас up straight по поводу проектов на нерв потому что вот например моем случае еще до того как я начал скажем активно работает на нее нас обстоит еще до этого когда у меня был указан просто опыт обучения и это было еще даже там скажем два года назад уже тогда приходили приходило много офферов таким предложением как не хотите ли вы об страницы и работать нас устроит поэтому вакансии сейчас на самом деле на
- 55:28
раз уже огромное количество пару лет назад ситуация была не такая сейчас вакансии на 1 немного и более того я вам так скажу о траст многие не идут учить раз потому что считается что у роста большой порог вхождения то есть некоторые концепты его сложно считается понять такие как ownership барроумен который мы рассмотрим с вами на следующих лекций да эти концерты в чем то необычное мое личное мнение раз можно начинать учить
- 56:01
даже как первый язык программирования да конечно классно учить раз когда это ваш не первый язык программирования потому что в таком случае вы уже понимаете какие то вещи которые не из простыни потом других языках таких например как там ситный шлюз эйгон и вы сразу же начинаете очень цените эти возможности и вам это кажется классный но даже до первое ска программирования раз мое мнение подходит
- 56:26
и поэтому так как многие все еще считают что раз него сложно про похождения что сложно изучить и многие никогда не доходят до того чтобы изучать раз вы можете вы можете считать что у вас есть какое-то определенное преимущество потому что на самом деле разработчики только раз намного меньше чем разработчиков на том же гол и тем более намного меньше чем разработчиков скажем о том же си плюс плюс и на java и соответственно на каждую вакансию
- 57:02
где нужно использование раз у вас будет гораздо меньше конкуренция но я допустим приведу пример файла пс например огромный спрос на разработчиков по рост и с каждым найти такое количество разработчиков на то количество проектов которые есть в принципе на рынке это достаточно сложно поэтому у вас есть определенные потому что если вы изучаете раз уже в числе числе тех людей которые до которых скажем гораздо меньше
- 57:42
конкуренция это не значит что у вас там позволительно иметь меньшую компетенцию чем в других областях конечно вы должны знать как можно больше количество материалов но суть в том что если вы владеете раз вы найдете себе работу так есть комментарии что нельзя несколько блоков раскидать по разным файлами это бесполезно это не бесполезно это полезно для реализации generics но мы это время курса скорее всего рассматривать не будем возможно когда мы будем проходить
- 58:21
темы по polka dot потому что там это будет более актуально но это будет уже очень потом спасибо что прислали ссылку на 1 на миг он джинни смотрите джинни еду не являются скажем референсным показателям объясню почему во-первых многие не не ведут статистику не кантри бьют и отношения то есть в этой области на джинни насколько они так много происходит на том же да не так много ходить ударе
- 59:14
портят статистику повез я хочу обратить ваше внимание что в основном сейчас вот не только доктора солана в основном это заказчики то есть это европа очень сша и многие люди работают вообще в принципе напрямую с этими заказчиками и соответственно такая статистика на джинни это не попадать комментарий как по мне то раз сейчас как года три назад детстве говорить в плане популярности и в плане того какой дефицит на
- 59:59
разработчиков то да похоже скорее даже похоже на голову даже 4 и больше лет назад вопрос где лучше искать актуальные вакансии на 1 и также я сразу вижу комментарии наверно такой суммы по заплатили не сравнимо с джином смотрите это сомнительно то есть здесь неоднозначно с одной стороны это конечно тема да наши раз школы но так или иначе даже иностранные заказчики у них есть тенденция скажем водить какой-то уровень зарплаты
- 1:00:40
и он не всегда может очень сильно отличаться от того который будет скажем через через аутсорс в компанию украине более того аутсорс компании принесет опытной компании они нам смогут дать реально классные проекты и реально классные условия то есть в этом я вам гарантирую проблем не будет где лучше искать актуальные вакансии на 1 актуальные вакансии нас есть опять же файл abs ясные уже какие-то способности раз даже
- 1:01:13
если вы еще пока не знакомы с если вы незнакомы с ним у вас уже есть домино расти пожалуйста волкам файл abs рады с вами парк сейчас однозначно и успешно пройдете собеседование я думаю уже до вас будет какое-то какие-то варианты с проектами потому что это не обязательно могут быть проекты на блокчейне следующий вопрос вас подскажите будут и задания после лекции до задании будут на текущий момент почему мне не дают задания потому что как таковые сейчас мы
- 1:01:57
проходим самой бац и как я говорил есть люди которые они уже читают разбух они осваивают и конечно дома в таком случае люди хотят чего-то делать в таком случае я советую проходить раз проект замков и также присылали до этого ссылку на 1 tanks танк список можно посмотреть каких-то заданий небольших которой поделать на текущий момент конкретно по поводу после текущая реакции так как мы уже рассмотрели больше концептов я советую каждому из вас хотя бы ну скажем 30-40
- 1:02:36
минут уделить на то чтобы освоить этот синтаксис каких-то пару структура с какими-то методами напишите какой то структуру которая скажем будет реализовывать интерфейс калькулятора попрактикуйтесь именно в этом раз я говорил для вас самый большой помощник это компилятор если вы написали примеру вот взяли написали вот сейчас после лекции у которого такой аккумулятор то есть там сложение вычитание умножение и так далее если вы написание то вы скомбинировали программу обработали
- 1:03:16
какие-то скажем то есть а как же до проверили то о чем говорит что нету переполнение и у вас скомпилировалось и собралась эта программа это уже классно да понятно дело что в данном случае вы можете реализовать точно туда же у вас не будет консольного интерфейса вы будете вызывать методы этого калькулятора даже просто в методе main и это уже круто классно если вы описали такой программы она у вас скопировалась и работает классно практикование это
- 1:03:47
больше заданий мы будем давать после еще следующих лекции это как раз делал для того потому что у нас все таки расчет что многие люди работают то есть время достаточно ограничен наедимся время на текущий момент делать такие вещи поэтому да у нас будут скажем просто как мы пройдем уровень в конце курса курса по растут именно я между 1 часть 2 часть как вы знаете то у нас по нир и
- 1:04:18
третью часть публика dot com за каждого из от ракурса вы такой небольшой project который вы должны будете сделать на текущий момент после этой лекции я объяснил что сделать советуем репозиторий с примерами входа будет и он уже не 100 я пропустил депозиту с примерами кода будет на текущий момент как так а вот так как таковых примеров кода у нас особо не было замучено я продемонстрировал небольшие такие
- 1:04:48
программки с использованием структур в дальнейшем мы создадим репозиторий с примерами кода и также там будут так сказать в одном месте держать егэ и слайд и на лекции вопрос-ответ расскажите про нердфайтер а есть ли подобные программы других блокчейнов по поводу не раз вертифайт сколько знают программу или относительно недавно точно несколько место назад когда мы присоединились с женей клэр а на тот момент этой программы не существовало насколько я знаю то есть у
- 1:05:33
нас например нет сертификатов но на что это я смотрел курс он достаточно базовый то есть он позволяет получить базовые знания по нир и провести небольшую как examination и то мы однозначно посоветуем пройти этот курс эту программу сертификации после окончания нашего курса по нир части за по поводу других лачинов доесть я точно есть австрийцев фрс обстоит когда последний раз проверял их были такие курсы они были платные и стоили
- 1:06:19
они порядка что-то около 800 долларов но это было организовано с помощью сторонний платформы и у них опять же были приглашены эксперты из обстоит которые помогали людям изучать substrate то нету также есть но panera это более доступно и и это бесплатно и еще вопрос с я работаю через и dior с консоли работают до работы в будущем нужно озвучивать эти команды через консоль как и выгнутые так далее
- 1:06:54
то просто них заучивание вопрос вы понимание потому что если даже вы работаете через две то вы должны понимать как работает каждая из команд более того из работает в окружении там серверным вам это тот тоже пригодится кроме того в том же ядре вы должны хоть использовать эти же команды только вас до них есть какие-то иконки и соответственно вы должны понимать что каждый из них делает это же принять команду период команду ран команду вот форма от клипе чек и так
- 1:07:39
далее конкретно войдя раз насколько я помню они делают скажем выполняют карточек или похожий механизм прямо во время того как вы пишете куда вы увидите ошибки прямо во время своей программу многие из них во время написания программы многие из них и многие из них вы сможете то компиляции да да явно до явного вызова компиляции вы сможете из них за фиксить кроме того эти команды полезные представьте вы пишете проект вы пишете свой смарт контракт допустим на нее и вы написали какие-то тесты
- 1:08:21
вы явно хотите знать если у вас эти тесты в какой-то момент перестанут работать до пуска кого-то комета и до этого что до этого вы конечно же хорошо было бы иметь свой чай в данном случае допустим вы хотите использовать actions и соответственно там тоже пригодится использования этих команд поэтому это очень совету более того есть такая команда как аргумент стал который позволяет вам установить какой-то пакет в том числе глобально
- 1:08:52
который то есть какой-то пленарный да этот бинарное святейшим который вы сможете использовать в своей системе примеры кстати таких каких-то полезных трав это не часть нашего курса но я думаю в конце точно расскажем поэтому до 100 и понимать эти команды они на самом деле не сложно и со временем вы обратите на это внимание всем основной тысяч от контракта на российском фидером на гарнир apple и клей при к dota и салом
- 1:09:26
скажем отличие здесь достаточно большие объясню в чем если поговорим про where мир в данном случае мы реализовываем конкретно смазка smart конфликт который исполняется drove своей изолированной среде если мы говорим про polka dot только тот изначально когда вы пишете нас обстоит вы реализовывать и не смарт-контракты реализовывается сам в общих принцип для smart контрактов на только тот освоить язык young
- 1:09:59
но это джекинг он скажем максимально близкий к 1 турнир это конкретно именно раз и есть сто процентов вот а конкретная отвечая это будет уже видна во время во время того когда мы будем проходить курс японии и курса polka dot курса по саванны у нас и сожалению или к счастью да николай пишет комментарии что еще на x не знаю можно набить руку да это тоже классный сайт если у кого-то есть желание время то пожалуйста
- 1:10:55
тогда я еще жду булавку вопрос так конечно если вас вас уже есть какие-то знания раз имеют допустим да вы присоединились на наш курс и вы активно начали уже самостоятельно изучать раз скажем на несколько вперед прочный по лекциям и вы считаете что вы хотели бы попробовать работать на 1 и уже готовы к работе пожалуйста пишите в чат у которой нашего курса с вами с удовольствием сражаться и расскажут предложит какие-то варианты с
- 1:11:28
кем вам можно пообщаться окей я скажу что вопрос больше нету огромное спасибо всем из вас кто пришел на эту лекцию кто-то сидел на не до конца мы очень надеемся что материал для вас полезен и что с каждой лекции вашей заинтересованности растут и поэтому мы будем рады видеть на следующей лекции на следующей лекции мы с вами рассмотрим и разберем и и на мтс рассмотрим больше работу с переменными
- 1:12:27
рассмотрим разные классные удобные штучки потру matching в том числе и возможно немного уже затронем тему металлики и овощи возможно даже мы какой-то из этих тем сделаем раньше так как мы уже видим что в чате многие люди реагируют и до них уже определенные концерты знакомы вот поэтому огромное спасибо всем вам если у вас есть 30 40 минут после лекции или до следующей лекции пожалуйста удивить их попрактикуйтесь синтаксиса написания своих структур с
- 1:13:07
использованием control слову и флуг и так далее и хорошего продуктивной недели всем пока огромное спасибо увидимся 4