Menu
CoddyTech

Mengurai string menjadi angka

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

Salah satu penerapan Result yang paling umum di dunia nyata adalah mengonversi string menjadi angka. Di Rust, hal ini dilakukan menggunakan method .parse(), yang menunjukkan dengan tepat alasan Result ada: karena parsing bisa gagal.

method .parse() mencoba mengonversi string menjadi angka, tetapi tidak semua string mewakili angka yang valid. Misalnya, "42" dapat diuraikan menjadi angka 42, tetapi "hello" tidak dapat dikonversi menjadi angka apa pun:

let valid_number = "42";
let invalid_number = "hello";

let result1: Result = valid_number.parse();
let result2: Result = invalid_number.parse();

Jika penguraian berhasil, .parse() mengembalikan Ok(number) yang berisi nilai yang telah dikonversi. Jika gagal, fungsi tersebut mengembalikan Err(error) dengan informasi tentang alasan penguraian gagal. Ini mengharuskan kamu menangani kedua kemungkinan secara eksplisit, sehingga programmu tidak mengalami crash saat menerima input yang tidak valid.

Kamu dapat menangani hasil parsing menggunakan salah satu teknik Result yang telah kamu pelajari, yaitu match untuk penanganan eksplisit, unwrap() jika kamu yakin prosesnya akan berhasil, atau operator ? untuk meneruskan error.

challenge icon

Tantangan

Mudah
Tulis fungsi parse_to_integer yang menerima string input dan mengembalikan nilai integer hasil parsing. Jika string tidak dapat di-parsing menjadi integer yang valid, kembalikan 0 sebagai nilai default.

Gunakan method .parse() untuk mengonversi string menjadi i32, dan tangani Result dengan tepat agar menghasilkan nilai pengembalian yang aman.

Parameter:

  • input (String): String yang akan di-parsing menjadi integer

Nilai pengembalian: Integer hasil parsing jika berhasil, atau 0 jika parsing gagal (i32)

Coba sendiri

fn parse_to_integer(input: String) -> i32 {
    // Tulis kodemu di sini
}
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