Tôi bắt đầu học ML chuẩn với khóa học Programming languages.SML và kiểu mã hóa chức năng
Trong bài tập về nhà đầu tiên, tôi cố gắng viết hàm is_older
có hai ngày và đánh giá là true
hoặc false
. Nó đánh giá thành true
nếu đối số đầu tiên là ngày xuất hiện trước đối số thứ hai (Nếu hai ngày giống nhau, kết quả là false
.).
Vì vậy, tôi viết đoạn mã sau:
fun is_older(first: int * int * int, second: int * int * int) =
if(#1 first = #1 second andalso #2 first = #2 second andalso #3 first = #3 second) then false
else if (#1 first < #1 second) then true
else if (#1 first = #1 second andalso #2 first < #2 second) then true
else if (#1 first = #1 second andalso #2 first = #2 second andalso #3 first < #3 second) then true
else false
Mã này là hoạt động tốt, nhưng có vẻ xấu xí.
Tôi làm cách nào để viết lại mã này theo kiểu chức năng?
Thêm một số ý kiến sẽ giúp người khác hiểu propposal câu trả lời của bạn . – Yaroslav