Skip to content

Изучаем язык программирования Rust на примерах

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

barabadzhi/rust-by-example-ru

 
 

Repository files navigation

Rust на примерах

Build Status

От переводчика

Перевод Rust by examples находится в процессе выполнения. За ходом перевода можно наблюдать тут.

Отдельное спасибо @suhr и @AKhranovskiy. Перевод основан на их работе.

Буду рад помощи.

Проверка правописания: Яндекс.Спеллер

Что это за проект?

Это исходный код сайта Rust by Example, переведённый на русский язык! Перевод можно найти по адресу https://rurust.github.io/rust-by-example-ru

Как помочь проекту?

Смотри CONTRIBUTING.md.

Как сгенерировать статический сайт

Предварительные настройки для Debian (Ubuntu)

Установить Rust и выполнить:

sudo apt-get install nodejs npm subversion
sudo ln -s /usr/bin/nodejs /usr/bin/node

Предварительные настройки для не-Debian дистрибутивов

Установить Rust nightly, node, npm, and subversion.

Инструкция по сборке проекта

Run:

make all
make html pdf epub
make test

Посмотреть результат с помощью make serve.

Детали проекта

Мы используем следующие инструменты для генерации сайта:

gitbook генерирует сайт из Markdown файлов (посмотреть, как это работает можно тут).

Перед запуском gitbook, мы делаем предварительную обработку, используя src/main.rs.

Предварительная обработка состоит из двух шагов:

Генерация SUMMARY.md

SUMMARY.md генерируется из examples/structure.json файла. Это JSON файл, который хранит в себе древовидную структуру "примеров".

У каждого примера есть:

  • id, например hello
  • title, например Hello World
  • необязательный объект - children, который будет являться дополнением к примерам, например null
  • папку внутри examples, например examples/hello
  • входную запись в examples/structure.json, например { "id": "hello", "title": "Hello World", "children": null }
  • файл(ы) исходного кода, например examples/hello/hello.rs
  • входной markdown файл, например examples/hello/input.md

При работе с дополнительными примерами, путь к нему будет содержать id оригинального примера, например examples/variable/mut/input.md, т.е пример mut является дополнительным примером к variable

Обработка input.md

Вместо добавления кода на Rust в input.md, исходный код был сохранён в отдельном файле. Данный шаг предварительной обработки добавит код в Markdown файл.

Например, чтобы добавить исходный код из файла hello.rs, в Markdown файле используется следующий синтаксис

  • {hello.play} добавляется к исходному коду в онлайн редактор кода
  • {hello.rs} добавляется к обычному исходному коду.
  • {hello.out} добавляется к выводу, который отображается после исполнения исходного кода.

В Makefile доступны следующие сценарии:

  • make: сборка update.rs и выполнения шагов предварительной обработки
  • make book: запуск gitbook для генерации книги
  • make serve: запуск gitbook --serve для генерации книги и публикации ее по адресу localhost:4000
  • make test: проверка всего исходного кода на языке Rust на наличие ошибок компиляции

Перевод на другие языки

Лицензия

Rust на примерах распространяется по двойной лицензии - лицензия Apache 2.0 и лицензия MIT.

Более подробную информацию можно найти в файлах LICENSE-APACHE и LICENSE-MIT соответственно.

About

Изучаем язык программирования Rust на примерах

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 70.4%
  • Shell 19.3%
  • Makefile 10.3%