Profesor kami meminta kami untuk memikirkan fungsi dalam OCaml yang memiliki tipe
'a -> 'b
yaitu fungsi dari satu argumen yang bisa berupa apa saja, dan yang dapat mengembalikan apa pun yang berbeda.
Saya berpikir untuk menggunakan raise
fungsi yang mengabaikan argumennya:
let f x = raise Exit
Tetapi profesor mengatakan ada solusi yang tidak memerlukan fungsi apa pun di perpustakaan standar. Saya bingung: bagaimana Anda bisa membuat 'b
jika Anda tidak memilikinya?
Saya bertanya di sini daripada di Stack Overflow karena saya ingin memahami apa yang terjadi, saya tidak ingin hanya melihat program tanpa penjelasan.
raise
akan berhasil, jadi kami tahu cara terbaik untuk menjelaskan mengapa solusi yang dicari oleh prof Anda (yang akan bekerja karena alasan yang sama dengan yang raise
berhasil) bekerja.
raise : exn -> 'a
jadi saya bisa mendapatkan nilai kembali, saya hanya mengabaikan argumen.