Dipecahkan: kembalikan false jika daftar kosong

Pembaharuan Terakhir: 09/11/2023

Haskell adalah bahasa yang sangat ekspresif, sering digunakan untuk memecahkan masalah kompleks dengan cara yang elegan dan ringkas. Karakteristik Haskell ini juga membuatnya cocok untuk memecahkan masalah-masalah umum yang sifatnya serupa, seperti memeriksa apakah suatu daftar kosong. Ini mungkin tampak seperti masalah yang mudah, tetapi ini adalah tugas umum yang dilakukan pengembang di berbagai bahasa pemrograman.

Artikel ini akan menggali masalah umum ini dan menunjukkan cara mengatasinya menggunakan Haskell. Kami akan menulis dan menjelaskan fungsi yang mengembalikan “False” jika daftar kosong dan “True” jika sebaliknya.

isEmpty :: [a] -> Bool
isEmpty [] = True
isEmpty _  = False

Fungsi Haskell ini bekerja secara sederhana. Fungsi `isEmpty` mengambil daftar jenis apa pun (dilambangkan dengan [a]) dan mengembalikan Boolean. Jika daftarnya kosong ([]), maka ia akan mengembalikan True, jika tidak, ia akan mengembalikan False. Fungsi ini menyoroti kekuatan pencocokan pola Haskell.

Perpustakaan Haskell

Haskell memiliki banyak perpustakaan yang dapat Anda gunakan untuk memecahkan masalah dengan cara yang lebih efisien. Beberapa perpustakaan yang secara langsung atau tidak langsung berhubungan dengan masalah kita dalam memeriksa apakah suatu daftar kosong meliputi:

  • Data.Daftar: Pustaka inti Haskell yang menyediakan fungsi untuk manipulasi daftar. Ini tidak menyertakan fungsi 'isEmpty' seperti yang diterapkan di atas, tetapi menyediakan banyak fungsi yang terkait dengan manipulasi daftar termasuk memeriksa apakah suatu daftar berisi elemen tertentu.
  • Aman: Pustaka ini menawarkan keamanan tambahan untuk Haskell dengan menyediakan versi fungsi yang tidak gagal secara tidak terduga.

Menggunakan pustaka dapat membuat kode Anda lebih efisien dan mudah dipahami, jadi sebaiknya selalu mengetahui pustaka yang tersedia dan bagaimana pustaka tersebut dapat membantu.

Fungsi Haskell

Fungsi yang telah kita bahas untuk memeriksa apakah suatu daftar kosong menggunakan fitur Haskell yang kuat yang dikenal sebagai pencocokan pola. Pencocokan pola dalam definisi fungsi memungkinkan Anda membuat keluaran yang berbeda bergantung pada struktur masukan.

Misalnya, dalam fungsi “`isEmpty”`, kita mendefinisikan dua “pola” untuk dicocokkan. Jika masukannya cocok dengan pola daftar kosong ([]), fungsi kita akan menghasilkan True. Untuk pola lain yang diwakili oleh garis bawah (_), hasilnya adalah False. Pencocokan Pola merupakan hal mendasar dalam banyak fungsi Haskell dan merupakan aspek bahasa yang cukup elegan, memungkinkan kita menulis kode yang lebih bersih dan mudah dibaca.

Kesimpulannya, fungsi dan pustaka Haskell yang dibahas, bersama dengan konsep pencocokan pola, memungkinkan efisiensi dan keanggunan yang tinggi ketika menangani masalah pengecekan apakah suatu daftar kosong.

Pos terkait: