Coder Social home page Coder Social logo

rust-lang-ru / rust_book_ru Goto Github PK

View Code? Open in Web Editor NEW
186.0 186.0 22.0 48.64 MB

The Rust Programming Language на русском языке

Home Page: http://rurust.github.io/rust_book_ru/

Shell 16.21% Python 10.80% CSS 72.99%
russian rust rust-book rust-programming-language

rust_book_ru's People

Contributors

ahitrin avatar blukai avatar defuz avatar dieu avatar dmitry4244 avatar funkill avatar gitter-badger avatar gordon-f avatar grossws avatar gsedometov avatar hhblaze avatar iamartyom avatar ithamsteri avatar jiumx60rus avatar kgv avatar kstep avatar kulinich avatar mkpankov avatar rastopyr avatar rustkas avatar safort avatar suhr avatar therustmonk avatar tiberal avatar van-kalsing avatar vessd avatar vkibalyuk avatar whoizit avatar zanziver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rust_book_ru's Issues

Глава о массивах

Было бы очень не плохо создать главу о массивах. Синтаксис rust имеет некоторые отличия от других c подобных языков

  • одномерные массивы
  • многомерные массивы
  • возможно ли узнать границу массива или для этого надо как в c выделять дополнительную переменную
  • проверяется ли при каждом обращении к массиву индекс
  • список функций из стандартной библиотеки для работы с массивами

Глава Расходящиеся функции, синтаксическая и пунктуационная ошибки

http://rurust.github.io/rust_book_ru/src/functions.html#%D0%A0%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B8%D0%B5%D1%81%D1%8F-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8

Момент:

Для получение более подробной информации вы можете посмотреть трассировку установив переменную среды RUST_BACKTRACE:

  1. получение -> получения,
  2. запятая перед установив.

src/iterators.md ошибка в переводе

В разделе "Потребители" в примере с использованием .find():

let greater_than_forty_two = (0..100)
                             .find(|x| *x > 42);

match greater_than_forty_two {
    Some(_) => println!("У нас есть несколько чисел!"), // << здесь
    None => println!("Числа не найдены :("), // << и здесь
}

В данном случае речь идет об одном совпадении, сообщения должны быть в единственном числе или переведены дословно.

В оригинале эти сообщения выглядят так:

"Found a match!"
и
"No match found :("

src/getting-started.md пропущена запятая

В файле src/getting-started.md

489: «./target/debug/hello_world. Мы можем сделать это в один шаг используя cargo»
стоит поменять на
489: «./target/debug/hello_world. Мы можем сделать это в один шаг, используя cargo»

src/getting-started.md ошибка в слове «ознакомиться»

В файле src/getting-started.md

401: «ошибке наподобие "команда не найдена", то вам нужно ознакомится с»
стоит поменять на
401: «ошибке наподобие "команда не найдена", то вам нужно ознакомиться с»

Синхранизация книги с Rust 1.6 stable

  • Getting Started
  • Learn Rust
    • Guessing Game
    • Dining Philosophers
    • Rust Inside Other Languages
  • Syntax and Semantics
    • Variable Bindings
    • Functions
    • Primitive Types
    • Comments
    • if
    • Loops
    • Ownership
    • References and Borrowing
    • Lifetimes
    • Mutability
    • Structs
    • Enums
    • Match
    • Patterns
    • Method Syntax
    • Vectors
    • Strings
    • Generics
    • Traits
    • Drop
    • if let
    • Trait Objects
    • Closures
    • Universal Function Call Syntax
    • Crates and Modules
    • const and static
    • Attributes
    • type aliases
    • Casting between types
    • Associated Types
    • Unsized Types
    • Operators and Overloading
    • Deref coercions
    • Macros
    • Raw Pointers
    • unsafe
  • Effective Rust
    • The Stack and the Heap
    • Testing
    • Conditional Compilation
    • Documentation
    • Iterators
    • Concurrency
    • Error Handling
    • Choosing your Guarantees
    • FFI
    • Borrow and AsRef
    • Release Channels
    • Using Rust without the standard library
  • Nightly Rust
    • Compiler Plugins
    • Inline Assembly
    • No stdlib
    • Intrinsics
    • Lang items
    • Advanced linking
    • Benchmark Tests
    • Box Syntax and Patterns
    • Slice Patterns
    • Associated Constants
    • Custom Allocators
  • Glossary
  • Syntax Index
  • Bibliography

src/getting-started.md пропущена запятая

В файле src/getting-started.md

430: «нам сохранять наши проекты красивыми и аккуратными. Всему есть своё место и все»
стоит поменять на
430: «нам сохранять наши проекты красивыми и аккуратными. Всему есть своё место, и все»

Coersions перевод

Вроде больше подходит перевод как "неявное приведение типа", вместо "преобразование". И по контексту главы "deref coercions" больше подходит. (неявные приведения типов при разыменовании)

Добавить оригинальные названия терминов при первом упоминании в каждой главе

Старая задача и комментарии: kgv/rust_book_ru#315

Добавить к первому упоминанию в каждой главе неоднозначных терминов их расшифровку в круглых скобках на английском языке:

  • borrow
  • ownership
  • moved
  • lifetime
  • pattern matching
  • closure
  • moved closure
  • heap
  • slice
  • tuple
  • enum
  • trait object
  • pattern
  • destructuring
  • exhausive
  • namespace
  • new type
  • arm
  • concurrency
  • dereference

...И возможно другие.

Сделайте пожалуйста вариант в виде одного файла HTML

Сделайте пожалуйста вариант в виде одного файла HTML. В существующем варианте найти что либо невозможно. Хотел например почитать пояснение по указателям, в частности по Box<> - не нашел. Наткнулся позже, уже чисто случайно. Оказывается это находится в разделе с названием "Выбор гарантий".
Ну как скажите мне, человек не впитавший еще терминологию Rust, догадается искать про указатели в разделе с таким названием? :)

Нужна возможность поиска. Самая простая реализация - один HTML файл. Во многих проектах документация так и сделана, в двух вариантах.

src/getting-started.md пропущены запятые

В файле src/getting-started.md

488: «Та-да! Мы собрали наш проект вызвав cargo build и запустили его с помощью»
стоит поменять на
488: «Та-да! Мы собрали наш проект_, вызвав cargo build,_ и запустили его с помощью»

src/getting-started.md ошибка в слове «выберите»

В файле src/getting-started.md

172: «снова, выберете "Change" на странице "Change, repair, or remove installation" и»
стоит поменять на
172: «снова, выберите "Change" на странице "Change, repair, or remove installation" и»

Переместить пример Dining Philosophers в конец книги

Недавно я смотивировал нескольких человек попробовать Rust и слежу за их успехами в изучении. У всех вызывает много вопросов и проблем пример с задачей обедающих философов.

Люди пугаются мьютексов и параллелизма вкупе с некоторыми сложными для понимания конструкциями (итераторы) еще до изучения синтаксиса и семантики тех языковых сущностей, которые используются в примере.

Лично мне пример нравится, и совсем убирать его из книги по примеру авторов оригинала RustBook я бы не хотел, но я согласен с тем, что задача слишком сложна для начинающих в языке.
Предлагаю переместить этот пример в конец, в главу "эффективное использование Rust".

Если идея получит одобрение, я заумусь этим и сделаю PR.

сс @mkpankov

Интегрировать систему автоматизированного перевода

В чате неоднократно обсуждался вопрос использования системы автоматизированного перевода, но к сожалению все предложенные варианты не подходили по тем или иным причинам.
Двумя основными проблемами является интеграция с GitHub и отслеживание изменений в оригинальной книге.

Предлагаю сформулировать требования к системе перевода и составить список систем, которые удовлетворяют их.

Соответствие коммитам оригинальной книги

Старая задача и комментарии: kgv/rust_book_ru#79

Предлагаю создать файл/задачу/страницу на wiki где для каждого файла перевода будет указан коммит в оригинальной книге на момент последнего перевода файла.
Для чего это может быть полезно: при изменении файла в оригинальной книге, мы будем занать с какой версией надо сравнить изменения. На основании увиденных различий можно принимать решение, стоит ли вносить изменения (может быть там просто исправлялись опечатки) и в каких местах их вносить.

Введение & Introduction

Немного путает различия в нумерации из-за 2 введений. Возможно имеет смысл перенести README в конец и сделать аннотацию в текущем введении?

src/method-syntax.md несоответствие текста и примера кода

В разделе «Шаблон „Строитель“» написано:

В противном случае, атрибуты x и y будут 0.0, а radius будет 1.0.

в то время как в коде мы имеем:

impl CircleBuilder {
    fn new() -> CircleBuilder {
        CircleBuilder { x: 0.0, y: 0.0, radius: 0.0, }
    }
...

то есть радиус задан по умолчанию как 0.0.

Опечатки

@rafuck:

Неплохо было бы сделать в web-версии книги быстрый отчет о найденной опечатке (например, об орфографической или грамматической ошибке). Вести список неудобно и потому не хочется. А так выделил текст, нажал "ctrl+enter" и все довольны.

Опечатки\уточнения

Маленькое уточнение: в главе http://rurust.github.io/rust_book_ru/src/loops.html#%D0%A1-%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0%D0%BC%D0%B8 в превьюшке примера:

for (linenumber, line) in lines.enumerate() {
    println!("{}: {}", linenumber, line);
}

не хватает верхней строчки, должно быть:

let lines = "привет\nмир\nhello\nworld".lines();
for (linenumber, line) in lines.enumerate() {
    println!("{}: {}", linenumber, line);
}

Опечатка в разделе "Синтаксис методов"

в самом начале раздела приведен вот такой пример baz(bar(foo)));
Тут или ) лишняя, или надо написать foo()
В анлогоязычной книге такого примера уже нет, сравнить не с чем, но явно просится исправление.

Проблемы с MOBI

На Kindle Paperwhite (и я уверен, других моделях) сам текст серый. Читать, конечно, можно, но всё же не очень удобно. При это большинство заголовкой написаны нормальным Черным цветом. Увы настроить это невозможно.
screenshot_2017_08_06t14_29_22 0300
На скриншоте контрастность выходит намного выше и это не так заметно. Но всё же отлично видно, что заголовок ярче. А в книге это выглядит особенно броско и неудобно при чтении.

Ещё не помешает обложка.

Попробую исправить сам и заслать PR.

PDF A5

Старая задача: kgv/rust_book_ru#344

@gmax79:

Было бы замечательно если сделаете книгу в формате pdf a5. Хорошо их читать на электронных книгах. Сейчас издательства выпускают свои книги чаще всего в данном формате. С этим форматом меньше всего проблем возникает. a4 просто не помещаются на экран ридера.

src/getting-started.md ошибка в слове «наподобие»

В файле src/getting-started.md

401: «ошибке на подобии "команда не найдена", то вам нужно ознакомится с»
стоит поменять на
401: «ошибке наподобие "команда не найдена", то вам нужно ознакомится с»

Перевод "native"

Старая задача и комментарии: kgv/rust_book_ru#189

Например, в нескольких местах есть "native libraries". "Родные библиотеки" звучит странно.

Есть что-то устоявшееся?

Проблемы с отображением EPUB

Старая задача и комментарии: kgv/rust_book_ru#232

@espdev (из #126 )

Попробовал открыть Epub-файл на устройстве NOOK. Корректно отображается только первая страница, затем весь текст книги отображается в один столбец слева экрана (столбик текста шириной в одну букву сверху-вниз). При попытке перейти на какую-либо страницу через навигатор вылетает в библиотеку.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.