まとめ - Book構造体の作成
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 26/66。
チャレンジ
簡単4つの入力(本のタイトル、著者名、出版年(整数)、ページ数(整数))を受け取ります。4つのフィールドを持つBook構造体を定義してください:String型のtitle、String型のauthor、i32型のyear、そしてi32型のpagesです。入力値を使用してこの構造体のインスタンスを作成し、本の情報を表示してください。
要件:
- フィールド
title: String、author: String、year: i32、pages: i32を持つBook構造体を定義する - 1番目の入力を本のタイトルとして読み込む
- 2番目の入力を著者名として読み込む
- 3番目の入力を読み込み、出版年として
i32に変換する - 4番目の入力を読み込み、ページ数として
i32に変換する - これらの値を使用して
Book構造体のインスタンスを作成する - 以下の形式で本の情報を出力する
入力:
- 1行目: 本のタイトル (例:
The Rust Programming Language) - 2行目: 著者名 (例:
Steve Klabnik) - 3行目: 整数としての出版年 (例:
2018) - 4行目: 整数としてのページ数 (例:
552)
出力:
- 1行目:
Book: [title] - 2行目:
Author: [author] - 3行目:
Year: [year] - 4行目:
Pages: [pages]
自分で試してみよう
use std::io;
// TODO: ここでBook構造体を定義します。フィールド:title, author, year, pages
fn main() {
// 本のタイトルを読み込む
let mut title = String::new();
io::stdin().read_line(&mut title).expect("Failed to read line");
let title = title.trim().to_string();
// 著者名を読み込む
let mut author = String::new();
io::stdin().read_line(&mut author).expect("Failed to read line");
let author = author.trim().to_string();
// 出版年を読み込む
let mut year_input = String::new();
io::stdin().read_line(&mut year_input).expect("Failed to read line");
let year: i32 = year_input.trim().parse().expect("Failed to parse year");
// ページ数を読み込む
let mut pages_input = String::new();
io::stdin().read_line(&mut pages_input).expect("Failed to read line");
let pages: i32 = pages_input.trim().parse().expect("Failed to parse pages");
// TODO: 入力値を使用してBook構造体のインスタンスを作成します
// TODO: 指定されたフォーマットで本の情報を出力します
}