Ваш код после улучшений @ loganfsmyth напечатает:
- элемент по индексу
4
из list
, - элемент по индексу
2
из list1
.
Интересно, хотите ли вы напечатать:
- элемент по индексу
4
из list
, - элемент по индексу
4
изlist1
.
В этом случае риск использования двух разных индексов можно уменьшить, если вместо двух использовать один список из кортежей .
Корректированная версия кода может быть следующей.
let list = [("PAKISTAN",2),("INDIA",3),("IRAN",4),("CHINA",5),("TURKEY",6)];
let i = 4;
print!("Fifth Element {} \n\n\n\n\t\t:{}",list[i].0, list[i].1);
Обратите внимание, что list[4]
- это индекс Fift , а не Forth .
Примечание по выравниванию
С \t\t
кажется, что код выравнивает страну с номером. Техника t
плохо работает со строками различной ширины. К счастью, Rust поставляется с опциями заполнения и выравнивания для форматирования строк.
Давайте покажем, как это можно использовать для вашего примера.
let list = [("PAKISTAN",2),("INDIA",3),("IRAN",4),("CHINA",5),("TURKEY",6)];
let i = 4;
let score = format!(":{}",list[i].1); //This gives us ':6'
//>30 = right alignment, width of 30
print!("Fifth Element\n{:>30}\n\n\n\n{:>30}",list[i].0, score);
Вывод
Fifth Element
TURKEY
:6
Обратите внимание, что это работает только для шрифтов фиксированной ширины .