Giáo sư của chúng tôi yêu cầu chúng tôi nghĩ về một chức năng trong OCaml có loại
'a -> 'b
tức là một hàm của một đối số có thể là bất cứ thứ gì và có thể trả về một thứ khác.
Tôi đã nghĩ đến việc sử dụng raise
trong một hàm mà bỏ qua đối số của nó:
let f x = raise Exit
Nhưng giáo sư cho biết có một giải pháp không yêu cầu bất kỳ chức năng nào trong thư viện chuẩn. Tôi bối rối: làm thế nào bạn có thể thực hiện 'b
nếu bạn không có một ở nơi đầu tiên?
Tôi đang hỏi ở đây chứ không phải trên Stack Overflow vì tôi muốn hiểu những gì đang diễn ra, tôi không muốn chỉ xem một chương trình mà không có lời giải thích.
raise
sẽ hoạt động, vì vậy chúng tôi biết cách tốt nhất để giải thích lý do tại sao giải pháp mà prof của bạn đang tìm kiếm (sẽ hoạt động với cùng lý do raise
hoạt động).
raise : exn -> 'a
để tôi có thể nhận được giá trị trả về, tôi chỉ cần bỏ qua đối số.