КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 713788 томов
Объем библиотеки - 1408 Гб.
Всего авторов - 274858
Пользователей - 125124

Новое на форуме

Новое в блогах

Впечатления

kiyanyn про серию Вот это я попал!

Переписанная Википедия в области оружия, изредка перемежающаяся рассказами о том, как ГГ в одиночку, а потом вдвоем :) громил немецкие дивизии, попутно дирижируя случайно оказавшимися в кустах симфоническими оркестрами.

Нечитаемо...


Рейтинг: +1 ( 2 за, 1 против).
Влад и мир про Семенов: Нежданно-негаданно... (Альтернативная история)

Автор несёт полную чушь. От его рассуждений уши вянут, логики ноль. Ленин был отличным экономистом и умел признавать свои ошибки. Его экономическим творчеством стал НЭП. Китайцы привязали НЭП к новым условиям - уничтожения свободного рынка на основе золота и серебра и существование спекулятивного на основе фантиков МВФ. И поимели все технологии мира в придачу к ввозу промышленности. Сталин частично разрушил Ленинский НЭП, добил его

  подробнее ...

Рейтинг: +4 ( 4 за, 0 против).
Влад и мир про Шенгальц: Черные ножи (Альтернативная история)

Читать не интересно. Стиль написания - тягомотина и небывальщина. Как вы представляете 16 летнего пацана за 180, худого, болезненного, с больным сердцем, недоедающего, работающего по 12 часов в цеху по сборке танков, при этом имеющий силы вставать пораньше и заниматься спортом и тренировкой. Тут и здоровый человек сдохнет. Как всегда автор пишет о чём не имеет представление. Я лично общался с рабочим на заводе Свердлова, производившего

  подробнее ...

Рейтинг: +2 ( 2 за, 0 против).
Влад и мир про Владимиров: Ирландец 2 (Альтернативная история)

Написано хорошо. Но сама тема не моя. Становление мафиози! Не люблю ворьё. Вор на воре сидит и вором погоняет и о ворах книжки сочиняет! Любой вор всегда себя считает жертвой обстоятельств, мол не сам, а жизнь такая! А жизнь кругом такая, потому, что сам ты такой! С арифметикой у автора тоже всё печально, как и у ГГ. Простая задачка. Есть игроки, сдающие определённую сумму для участия в игре и получающие определённое количество фишек. Если в

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Дамиров: Курсант: Назад в СССР (Детективная фантастика)

Месяца 3-4 назад прочел (а вернее прослушал в аудиоверсии) данную книгу - а руки (прокомментировать ее) все никак не доходили)) Ну а вот на выходных, появилось время - за сим, я наконец-таки сподобился это сделать))

С одной стороны - казалось бы вполне «знакомая и местами изьезженная» тема (чуть не сказал - пластинка)) С другой же, именно нюансы порой позволяют отличить очередной «шаблон», от действительно интересной вещи...

В начале

  подробнее ...

Рейтинг: +2 ( 2 за, 0 против).

Rust на примерах [Коллектив авторов] (fb2) читать постранично, страница - 2


 [Настройки текста]  [Cбросить фильтры]

комментарии, которые будут сгенерированы в HTML документацию:

      • /// Генерация документации для функции.

      • //! Генерация документации для модуля.

fn main() {

// This is an example of a line comment

// There are two slashes at the beginning of the line

// And nothing written inside these will be read by the compiler

// println!("Hello, world!");

// Run it. See? Now try deleting the two slashes, and run it again.

/*

* This is another type of comment, a block comment. In general,

* line comments are the recommended comment style. But

* block comments are extremely useful for temporarily disabling

* chunks of code. /* Block comments can be /* nested, */ */

* so it takes only a few keystrokes to comment out everything

* in this main() function. /*/*/* Try it yourself! */*/*/

*/

/*

Note: The previous column of `*` was entirely for style. There's

no actual need for it.

*/

// You can manipulate expressions more easily with block comments

// than with line comments. Try deleting the comment delimiters

// to change the result:

let x = 5 + /* 90 + */ 5;

println!("Is `x` 10 or 100? x = {}", x);

}

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Смотрите также:

Документирование библиотек

Форматированный вывод

Вывод обрабатывается несколькими макросами, которые определены в std::fmt. Вот некоторые из них:

   • format!: записывает форматированный текст в String.

   • print!: работает аналогично с format!, но текст выводится в консоль (io::stdout).

   • println!: аналогично print!, но в конце добавляется переход на новую строку.

   • eprint!: аналогично format!, но текст выводится в стандартный поток ошибок (io::stderr).

   • eprintln!: аналогично eprint!, но в конце добавляется переход на новую строку.

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

fn main() {

// `{}` автоматически будет заменено на

// аргументы. Они будут преобразованы в строку.

println!("{} дней", 31);

// Без суффиксов, 31 является i32. Можно изменить тип 31,

// используя суффикс.

// Существует множество способов работы с форматированным выводом. Можно указать

// позицию для каждого аргумента.

println!("{0}, это {1}. {1}, это {0}", "Алиса", "Боб");

// Так же можно именовать аргументы.

println!("{subject} {verb} {object}",

object="ленивую собаку",

subject="быстрая коричневая лиса",

verb="прыгает через");

println!("{} из {:b} людей знают, что такое двоичный код, а остальные нет.", 1, 2);

// Можно выравнивать текст, сдвигая его на указанную ширину.

// Данный макрос отобразит в консоли

// " 1". 5 пробелов и "1".

println!("{number:>width$}", number=1, width=6);

// Можно добавить к цифрам пару нулей. Данный макрос выведет "000001".

println!("{number:>0width$}", number=1, width=6);

// Компилятор обязательно проверит, что в макрос передано правильное количество

// аргументов.

println!("Меня зовут {0}, {1} {0}", "Бонд");

// ИСПРАВЬТЕ ^ Добавьте недостающий аргумент: "Джеймс"

// Создаём структуру, которая хранит в себе `i32`. Назовём её `Structure`.

#[allow(dead_code)]

struct Structure(i32);

// Однако, пользовательские типы данных, например, как эта структура

// требуют более сложной обработки для вывода. Данный код не будет работать.

println!("Эта структура `{}` не хочет выводится на экран...", Structure(3));

// ИСПРАВЬТЕ ^ Закомментируйте эту строку.

}

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

std::fmt содержит в себе много типажей, которые управляют отображением текста. Базовая форма двух самых важных рассмотрена ниже:

   • fmt::Debug: Использует маркер {:?}. Форматирует текст для отладочных целей.

   • fmt::Display: Использует маркер {}. Форматирует текст в более элегантном,удобном для пользователя стиле.

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

Реализация типажа fmt::Display автоматически предоставляет реализацию типажа ToString, который позволяет нам конвертировать наш тип в String.

Задания

   • Исправьте две ошибки в коде выше (смотрите ИСПРАВЬТЕ), чтобы код компилировался без ошибок