Serialization Without Crates
CSV Row
Format a Simple Record
Serialization turns typed values into text. A small CSV row can be built directly from fixed fields.
Program
Play the program to choose a quantity and watch the record become a comma-separated row.
csv_row_builder.rs
Replay: real traced execution (multi-file project)
fn main() {
let quantity = 3;
let item = ("book", quantity, 12);
let row = csv_row(item.0, item.1, item.2);
println!("{row}");
}
fn csv_row(name: &str, quantity: i32, price: i32) -> String {
format!("{name},{quantity},{price}")
}
fn main() {
let quantity = 1;
let item = ("book", quantity, 12);
let row = csv_row(item.0, item.1, item.2);
println!("{row}");
}
fn csv_row(name: &str, quantity: i32, price: i32) -> String {
format!("{name},{quantity},{price}")
}
fn main() {
let quantity = 5;
let item = ("book", quantity, 12);
let row = csv_row(item.0, item.1, item.2);
println!("{row}");
}
fn csv_row(name: &str, quantity: i32, price: i32) -> String {
format!("{name},{quantity},{price}")
}
quantity ← 3, item ← ("book", 3, 12)
1fn main() {2 let quantit→ 3y = 3; //@quantity=3, 1, 53 let ite→ ("book", 3, 12)m = ("book", quantit3y, 12);4 let row = csv_row(item."book"0, item.31, item.122);5 println!("{row}");row ← "book,3,12"
3 let item = ("book", quantity, 12);4 let ro→ "book,3,12"w = csv_row(item."book"0, item.31, item.122);5 println!("{row}");6}outputbook,3,12
quantity ← 1, item ← ("book", 1, 12)
1fn main() {2 let quantit→ 1y = 1;3 let ite→ ("book", 1, 12)m = ("book", quantit1y, 12);4 let row = csv_row(item."book"0, item.11, item.122);5 println!("{row}");row ← "book,1,12"
3 let item = ("book", quantity, 12);4 let ro→ "book,1,12"w = csv_row(item."book"0, item.11, item.122);5 println!("{row}");6}outputbook,1,12
quantity ← 5, item ← ("book", 5, 12)
1fn main() {2 let quantit→ 5y = 5;3 let ite→ ("book", 5, 12)m = ("book", quantit5y, 12);4 let row = csv_row(item."book"0, item.51, item.122);5 println!("{row}");row ← "book,5,12"
3 let item = ("book", quantity, 12);4 let ro→ "book,5,12"w = csv_row(item."book"0, item.51, item.122);5 println!("{row}");6}outputbook,5,12
serialization
Serialization converts typed program values into a text representation.
tuple fields
`item.0`, `item.1`, and `item.2` read the record fields in order.
format!
`format!` builds the serialized row without printing immediately.