-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix ch06-00-01 #878
fix ch06-00-01 #878
Conversation
@@ -161,13 +165,12 @@ enum Option<T> { | |||
|
|||
Другими словами, вы должны преобразовать `Option<T>` в `T` прежде чем вы сможете выполнять операции с этим `T`. Как правило, это помогает выявить одну из наиболее распространённых проблем с null: когда мы предполагаем, что что-то не равно null, хотя <em>на самом деле</em> оно null. | |||
|
|||
С Rust не нужно беспокоиться о неправильном предположении касательно не-null значения, это помогает чувствовать себя более уверенно. Для того, чтобы иметь значение, которое может быть null, вы должны явно сказать об этом, указав тип `T` этого значения как `Option<T>` <em>(обернуть его в Option)</em>. Затем, когда вы используете это значение, вы обязаны явно обрабатывать случай, когда значение равно null. Везде, где значение имеет тип, не являющий `Option<T>`, вы *можете* смело рассчитывать на то, что значение не равно null. Такой подход - продуманное проектное решение в Rust, ограничивающее распространение null и увеличивающее безопасность Rust кода. | |||
Устранение риска ошибочного предположения касательно не-null значения помогает вам быть более уверенным в своём коде. Чтобы иметь значение, которое может быть нулевым, вы должны явно согласиться, сделав тип этого значения `Option<T>`. Затем, когда вы используете это значение, вы обязаны явно обрабатывать случай, когда значение равно null. Везде, где значение имеет тип, отличный от `Option<T>`, вы *можете* смело рассчитывать на то, что значение не равно null. Это продуманное проектное решение в Rust, ограничивающее распространение null и увеличивающее безопасность Rust кода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Давай тут "не-null" заменим на "не нулевой"? Чтобы единнобразно было
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Написал снала, что "можно", потом подумал, что не надо. А то некоторые будут думать, что речь идёт о сравнении с нулём, а в тексте речь об null и not-null значениях...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
либо если еспользовать слово "не нулевой", то с прицепкой, вот так "не нулевое (not-null)", чтобы подчеркнуть о чём идёт речь.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Вот меня тоже зацепило эта путаница с нулём тут.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Я завтра немного поменяю текст, посмотрите ещё раз.
Задам ещё вопрос. Давайте трейты называть "трейтами", а не "типажами". Слово "трейт" уже прочно вошло в наш язык, во всех видео авторы говорят именно "трейт", и в PHP трейты как трейты...
Зачем мы в этой книге извращаемся с "типажом"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
По трейтам и типажаам сюда. Как только будет выработано единое мнение, тогда и можно будет его использовать. Пока что лучше "типаж"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А я за "трейт")
No description provided.