Khi bạn thực hiện safe_division 3 0
, trước tiên, 3
bị ràng buộc với tên n
và phía bên phải của tuyên bố sau đó được đánh giá.
Đây là số function
, vì vậy đối số tiếp theo, 0
, được đối sánh với các trường hợp khác nhau theo thứ tự. Ở đây, nó khớp với trường hợp đầu tiên, vì vậy phía bên tay phải được đánh giá và một ngoại lệ được ném ra. Trong trường hợp này, tên m
không bao giờ bị ràng buộc với bất cứ điều gì.
Nếu đối số thứ hai được, ví dụ, 1
, sau đó nó sẽ xuất hiện trường hợp thứ hai (trường hợp này phù hợp với tất cả các giá trị có thể dù sao, đó là một trường hợp mặc định), ràng buộc tên m
với giá trị 1
và sau đó trả lại kết quả của n/m
.