Menu
CoddyTech

Struct Tuple

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 25 dari 66.

Meskipun struct biasa menggunakan field bernama, Rust menawarkan tipe lain yang disebut tuple structs. Tipe ini menyediakan cara yang lebih ringkas untuk membuat tipe kustom saat kamu tidak perlu memberi nama pada setiap field satu per satu.

tuple struct menggabungkan manfaat membuat tipe baru dengan kesederhanaan tuple. Kamu mendefinisikannya menggunakan kata kunci struct, diikuti nama tipe dan tipe field di dalam tanda kurung:

struct Color(i32, i32, i32);

Ini membuat tipe Color yang menyimpan tiga nilai i32, yang merepresentasikan nilai warna RGB. Berbeda dengan struct biasa, kamu tidak menentukan nama field. Kamu mengakses nilainya berdasarkan posisinya, seperti pada tuple.

Untuk membuat instance dari tuple struct, kamu memberikan nilai di dalam tanda kurung:

let red = Color(255, 0, 0);

Kamu dapat mengakses setiap field menggunakan notasi titik dengan indeks field: red.0 memberikan nilai pertama, red.1 memberikan nilai kedua, dan seterusnya.

challenge icon

Tantangan

Mudah

Kamu akan menerima tiga input: nilai merah (sebagai bilangan bulat), nilai hijau (sebagai bilangan bulat), dan nilai biru (sebagai bilangan bulat). Definisikan struct tuple Color yang menyimpan tiga nilai i32 yang mewakili komponen warna RGB. Buat instance struct tuple ini menggunakan nilai input, lalu akses dan cetak setiap komponen warna menggunakan notasi indeks.

Persyaratan:

  • Definisikan struct tuple Color dengan tiga field i32
  • Baca input pertama dan konversikan ke i32 untuk nilai merah
  • Baca input kedua dan konversikan ke i32 untuk nilai hijau
  • Baca input ketiga dan konversikan ke i32 untuk nilai biru
  • Buat instance struct tuple Color dengan nilai-nilai ini
  • Akses setiap field menggunakan notasi titik dengan indeks (0, 1, 2), lalu cetak informasi warna dengan format persis seperti yang ditunjukkan di bawah

Input:

  • Baris pertama: Nilai merah sebagai bilangan bulat (misalnya, 255)
  • Baris kedua: Nilai hijau sebagai bilangan bulat (misalnya, 128)
  • Baris ketiga: Nilai biru sebagai bilangan bulat (misalnya, 0)

Output:

  • Baris pertama: Red: [red_value]
  • Baris kedua: Green: [green_value]
  • Baris ketiga: Blue: [blue_value]

Coba sendiri

use std::io;

// TODO: Definisikan struct tuple Color milikmu di sini

fn main() {
    // Baca nilai merah
    let mut red_input = String::new();
    io::stdin().read_line(&mut red_input).expect("Failed to read line");
    let red: i32 = red_input.trim().parse().expect("Invalid input");
    
    // Baca nilai hijau
    let mut green_input = String::new();
    io::stdin().read_line(&mut green_input).expect("Failed to read line");
    let green: i32 = green_input.trim().parse().expect("Invalid input");
    
    // Baca nilai biru
    let mut blue_input = String::new();
    io::stdin().read_line(&mut blue_input).expect("Failed to read line");
    let blue: i32 = blue_input.trim().parse().expect("Invalid input");
    
    // TODO: Buat instance struct tuple Color menggunakan nilai input
    
    // TODO: Akses dan cetak setiap komponen warna menggunakan notasi indeks
    // Format: Merah: [nilai], Hijau: [nilai], Biru: [nilai]
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online