Dipecahkan: string ke int

Pembaharuan Terakhir: 09/11/2023

Tentu saja! Berikut artikel ekstensif tentang mengonversi String menjadi Integer di Haskell:

Bekerja dengan tipe data adalah bagian mendasar dari pemrograman. Dalam bahasa tingkat tinggi yang diketik secara statis seperti Haskell, operasi ini terkadang sedikit tidak intuitif. Fokus kami saat ini adalah situasi yang umum ditemui: mengubah agama a String ke Int di Haskell.

Dalam bahasa yang diketik secara dinamis, Anda mungkin bisa menggunakan string sebagai int secara bergantian. Namun karena sifat Haskell sebagai bahasa yang diketik secara statis, kita perlu menjalankan konversi tipe terlebih dahulu. Mari selidiki solusi untuk skenario ini.

Perpustakaan untuk Konversi

Haskell's Teks. Baca perpustakaan memberi kita fungsinya bacaMungkin yang bagus untuk tujuan kita. Fungsi ini akan mencoba mengurai string yang diberikan ke dalam tipe yang diminta. Jika berhasil maka akan mengembalikan nilai Just, jika gagal maka tidak akan mengembalikan Nothing.

import Text.Read (readMaybe)

convert :: String -> Maybe Int
convert str = readMaybe str :: Maybe Int

Detail Proses Konversi

Pada cuplikan kode di atas, fungsi convert mengambil string sebagai input. Menggunakan bacaMungkin fungsi, ia mencoba mengubah string itu menjadi bilangan bulat. Tanda tangan tipe `Mungkin Int` menunjukkan bahwa fungsi ini akan mengembalikan Just Int (jika konversi berhasil) atau Tidak Ada, jika konversi gagal. Ini adalah cara yang aman dan disukai untuk menangani operasi ini.

Sekali lagi, mari kita lihat fungsi kenyamanan lain yang kita miliki. Fungsi ini tidak hanya mengubah string menjadi bilangan bulat tetapi juga memberikan nilai default jika konversi gagal – fungsi `fromMungkin`.

Mengonversi String ke Int dengan Nilai Default

Sekarang misalkan kita tidak ingin fungsi kita mengembalikan Maybe Int, tapi hanya Int. Dalam hal ini, kita dapat menambahkan nilai default ke fungsi konversi kita.

import Data.Maybe (fromMaybe)

convertDefault :: String -> Int
convertDefault str = fromMaybe 0 (readMaybe str)

Dalam kode di atas, `fromMungkin` mengambil dua argumen: nilai default dan nilai Mungkin. Jika nilai Mungkin adalah Tidak Ada, `fromMungkin` mengembalikan nilai default. Jika tidak, ia akan membuka nilai Just dan mengembalikannya.

Seperti yang Anda lihat, Haskell perpustakaan menawarkan fungsionalitas komprehensif untuk mengubah string menjadi bilangan bulat. Berdasarkan kebutuhan aplikasi Anda, Anda dapat memilih satu metode dibandingkan metode lainnya, dengan mempertimbangkan faktor-faktor seperti penanganan kesalahan, kinerja, dan nilai pengembalian default.

Menggunakan Pustaka Teks.Baca dan Data.Mungkin, Anda dapat mengubah string menjadi bilangan bulat, sehingga memanfaatkan sistem tipe Haskell yang kuat tanpa mengorbankan keamanan atau efisiensi. Baik Anda memilih untuk menggunakan `readMungkin` atau `fromMungkin`, Anda selalu dapat mempertimbangkan kemungkinan kegagalan karena masukan yang buruk dan menjaganya agar tidak terjadi. Di sinilah kekuatan Haskell sebagai bahasa yang diketik secara statis bersinar.

Pos terkait: