Skip to main content

format_links

Function format_links 

Source
pub fn format_links(links: &[LiNo<String>]) -> String
Expand description

Formats a collection of LiNo links as a multi-line string. Each link is formatted on a separate line.

Examples found in repository?
examples/tuple_conversion.rs (line 52)
3fn main() {
4    println!("=== Rust Tuple Conversion Examples ===\n");
5
6    // Example 1: Basic 2-tuple conversion
7    println!("1. Basic 2-tuple conversion:");
8    let link: LiNo<String> = ("papa", "mama").into();
9    println!("   Input: (\"papa\", \"mama\")");
10    println!("   Output: {}\n", link);
11
12    // Example 2: 3-tuple conversion
13    println!("2. 3-tuple conversion:");
14    let link: LiNo<String> = ("papa", "loves", "mama").into();
15    println!("   Input: (\"papa\", \"loves\", \"mama\")");
16    println!("   Output: {}\n", link);
17
18    // Example 3: 4-tuple conversion
19    println!("3. 4-tuple conversion:");
20    let link: LiNo<String> = ("parent", "child1", "child2", "child3").into();
21    println!("   Input: (\"parent\", \"child1\", \"child2\", \"child3\")");
22    println!("   Output: {}\n", link);
23
24    // Example 4: Mixed tuple with LiNo
25    println!("4. Mixed tuple with LiNo:");
26    let child = LiNo::Ref("child".to_string());
27    let link: LiNo<String> = ("parent", child).into();
28    println!("   Input: (\"parent\", LiNo::Ref(\"child\"))");
29    println!("   Output: {}\n", link);
30
31    // Example 5: Anonymous link from LiNo tuples
32    println!("5. Anonymous link from LiNo tuples:");
33    let a = LiNo::Ref("a".to_string());
34    let b = LiNo::Ref("b".to_string());
35    let link: LiNo<String> = (a, b).into();
36    println!("   Input: (LiNo::Ref(\"a\"), LiNo::Ref(\"b\"))");
37    println!("   Output: {}\n", link);
38
39    // Example 6: Complex nested structure
40    println!("6. Complex nested structure:");
41    let loves_mama: LiNo<String> = ("lovesMama", "loves", "mama").into();
42    let papa: LiNo<String> = ("papa", loves_mama).into();
43    let son: LiNo<String> = ("son", "lovesMama").into();
44    let daughter: LiNo<String> = ("daughter", "lovesMama").into();
45
46    let love_ref = LiNo::Ref("love".to_string());
47    let mama_ref = LiNo::Ref("mama".to_string());
48    let love_mama: LiNo<String> = (love_ref, mama_ref).into();
49    let all: LiNo<String> = ("all", love_mama).into();
50
51    let links = vec![papa, son, daughter, all];
52    let result = format_links(&links);
53    println!("   Output:");
54    for line in result.lines() {
55        println!("   {}", line);
56    }
57    println!();
58
59    // Example 7: Creating links collection ergonomically
60    println!("7. Creating links collection ergonomically:");
61    let links: Vec<LiNo<String>> = vec![
62        ("papa", "mama").into(),
63        ("son", "daughter").into(),
64        ("loves", "family").into(),
65    ];
66    println!("   Vec of tuples converted to links:");
67    for link in &links {
68        println!("   {}", link);
69    }
70    println!();
71
72    // Example 8: Owned String tuples
73    println!("8. Owned String tuples:");
74    let id = "parent".to_string();
75    let val = "child".to_string();
76    let link: LiNo<String> = (id, val).into();
77    println!("   Input: (String::from(\"parent\"), String::from(\"child\"))");
78    println!("   Output: {}\n", link);
79
80    println!("=== All examples completed successfully! ===");
81}