Câu hỏi 1Haskell: hiểu "Không dụ cho" thông báo lỗi trong ghci
Hi, nếu trong WinGHCi Tôi cố ý làm mảnh sai mã sau đây:
3 4
Sau đó thông báo lỗi tôi get is
<interactive>:1:1:
No instance for (Num (a0 -> t0))
arising from the literal `3'
Possible fix: add an instance declaration for (Num (a0 -> t0))
In the expression: 3
In the expression: 3 4
In an equation for `it': it = 3 4
Chính xác thì No instance for (Num (a0 -> t0))
có nghĩa là gì?
Câu hỏi 2
Tại sao đoạn mã sau:
(+) 2 3 4
<interactive>:1:7:
No instance for (Num (a0 -> t0))
arising from the literal `3'
Possible fix: add an instance declaration for (Num (a0 -> t0))
In the second argument of `(+)', namely `3'
In the expression: (+) 2 3 4
In an equation for `it': it = (+) 2 3 4
năng suất một lỗi hơi khác nhau từ mảnh thứ hai của mã:
2+3 4
<interactive>:1:3:
No instance for (Num (a1 -> a0))
arising from the literal `3'
Possible fix: add an instance declaration for (Num (a1 -> a0))
In the expression: 3
In the second argument of `(+)', namely `3 4'
In the expression: 2 + 3 4
Cụ thể trong lần đầu tiên đoạn mã chúng tôi có No instance for (Num (a0 -> t0))
ở đâu trong đoạn mã thứ hai, chúng tôi có No instance for (Num (a1 -> a0))
.
[Response to ehird]
(Câu hỏi chuyển từ bình luận câu trả lời):
1) Tôi đánh giá cao hai biểu thức thứ hai là khác nhau, nhưng bạn đang nói rằng tôi không nên cố gắng tìm hiểu tại sao người thông dịch chọn (Num (a0 -> t0))
cho người trước đây và (Num(a1 -> a0))
cho người thứ hai, ngoài thực tế là họ khác nhau?
2) Xin chào, và với trường hợp cũ khi bạn nói "Nhưng không có chữ số Num cho hàm" bạn có ý gì? Xin lỗi tôi không rõ ràng về khái niệm của một cá thể là gì. Hơn nữa, chỉ vì tò mò, bạn có thể sử dụng phương pháp Num (a -> b)
dụ của bạn bằng cách nào đó để thông dịch viên cho việc giải thích 3 4
là 4 modulo 3
?
Wow cảm ơn bạn rất nhiều vì lời giải thích chi tiết và được vạch ra rõ ràng này; Tôi rất trân trọng điều này. Tôi nghĩ rằng tôi sẽ cần phải nhấn một số cuốn sách được chỉ định trên trang web Haskell và quay lại bài đăng của bạn một vài lần nữa trước khi tôi tiêu hóa mọi thứ bạn đã viết. Cảm ơn bạn. – artella