Bird
Raised Fist0
Rustprogramming~10 mins

Accessing elements in Rust - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to access the first element of the array.

Rust
let numbers = [10, 20, 30];
let first = numbers[[1]];
Drag options to blanks, or click blank then click option'
A1
B0
C2
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 as the index to get the first element.
Using an index out of bounds like 3.
2fill in blank
medium

Complete the code to access the last element of the vector.

Rust
let mut vec = vec![5, 10, 15];
let last = vec[[1]];
Drag options to blanks, or click blank then click option'
A2
B0
C3
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 3 which is out of bounds.
Using index 1 which is the middle element.
3fill in blank
hard

Fix the error in accessing the element safely using get method.

Rust
let arr = [100, 200, 300];
let value = arr.get([1]).unwrap();
Drag options to blanks, or click blank then click option'
A3
B5
C-1
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using an index out of bounds like 3 or 5 causes None and unwrap panic.
Using negative index which is invalid.
4fill in blank
hard

Fill both blanks to create a HashMap and access a value by key.

Rust
use std::collections::HashMap;
let mut map = HashMap::new();
map.insert([1], 42);
let value = map.get(&[2]).unwrap();
Drag options to blanks, or click blank then click option'
A"age"
B"name"
D"score"
Attempts:
3 left
💡 Hint
Common Mistakes
Using different keys for insert and get causes None and unwrap panic.
Forgetting to use & when getting the value.
5fill in blank
hard

Fill all three blanks to access a character from a string slice.

Rust
let text = "hello";
let ch = text.chars().nth([1]).[2]();
println!("[3]", ch);
Drag options to blanks, or click blank then click option'
A1
Bunwrap
C{}
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using nth(1) to get the second character instead of the first.
Forgetting to unwrap the Option returned by nth.
Using incorrect print placeholder.

Practice

(1/5)
1. In Rust, how do you access the first element of an array named arr?
easy
A. arr[0]
B. arr[1]
C. arr.first()
D. arr.get(1)

Solution

  1. Step 1: Understand Rust indexing

    Rust arrays and slices use zero-based indexing, so the first element is at index 0.
  2. Step 2: Access the element using square brackets

    Using arr[0] accesses the first element directly.
  3. Final Answer:

    arr[0] -> Option A
  4. Quick Check:

    First element index = 0 [OK]
Hint: Remember: Rust arrays start at index 0 [OK]
Common Mistakes:
  • Using index 1 for the first element
  • Confusing .first() with indexing
  • Using get(1) which accesses second element
2. Which of the following is the correct syntax to access the third element of a vector v in Rust?
easy
A. v.get[3]
B. v(3)
C. v[3]
D. v[2]

Solution

  1. Step 1: Recall zero-based indexing

    The third element is at index 2 because counting starts at zero.
  2. Step 2: Use square brackets with index 2

    The correct syntax is v[2] to access the third element.
  3. Final Answer:

    v[2] -> Option D
  4. Quick Check:

    Third element index = 2 [OK]
Hint: Count from zero: third element is index 2 [OK]
Common Mistakes:
  • Using parentheses instead of square brackets
  • Using index 3 for third element
  • Incorrect method call syntax like get[3]
3. What will be the output of this Rust code?
let arr = [10, 20, 30, 40];
println!("{}", arr[1]);
medium
A. 20
B. 40
C. 30
D. 10

Solution

  1. Step 1: Identify the array elements and their indexes

    The array arr has elements: 10 at index 0, 20 at index 1, 30 at index 2, and 40 at index 3.
  2. Step 2: Access element at index 1

    The code prints arr[1], which is 20.
  3. Final Answer:

    20 -> Option A
  4. Quick Check:

    arr[1] = 20 [OK]
Hint: Index 1 means second element in Rust arrays [OK]
Common Mistakes:
  • Printing arr[0] instead of arr[1]
  • Confusing index with element value
  • Expecting output 30 or 40
4. Consider this Rust code snippet:
let v = vec![1, 2, 3];
let x = v[3];

What is the problem here?
medium
A. Syntax error: wrong vector declaration
B. Index out of bounds panic at runtime
C. Compile-time error: invalid index
D. No problem, x will be 3

Solution

  1. Step 1: Check vector size and index used

    The vector v has 3 elements at indexes 0, 1, and 2. Index 3 is out of range.
  2. Step 2: Understand Rust's runtime behavior

    Accessing v[3] causes a panic at runtime due to index out of bounds.
  3. Final Answer:

    Index out of bounds panic at runtime -> Option B
  4. Quick Check:

    Invalid index causes panic [OK]
Hint: Index must be less than vector length [OK]
Common Mistakes:
  • Thinking it causes compile error
  • Assuming x will be 3
  • Ignoring runtime panic possibility
5. You have a nested vector let data = vec![vec![1, 2], vec![3, 4], vec![5, 6]];. How do you access the number 4?
hard
A. data[0][1]
B. data[2][0]
C. data[1][1]
D. data[1][0]

Solution

  1. Step 1: Identify the outer and inner indexes

    The outer vector has 3 inner vectors: index 0 is [1, 2], index 1 is [3, 4], index 2 is [5, 6].
  2. Step 2: Access the inner element 4

    Within the inner vector at index 1 ([3, 4]), the element 4 is at index 1.
  3. Final Answer:

    data[1][1] -> Option C
  4. Quick Check:

    Nested access: outer 1, inner 1 = 4 [OK]
Hint: First index outer vec, second index inner vec [OK]
Common Mistakes:
  • Mixing up outer and inner indexes
  • Using wrong inner index for element 4
  • Accessing out-of-range indexes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard