Nếu tôi có một Haskell ADT như:Tên ADT. `Trái a` là gì, và sau đó cái gì là` a`, trong Haskell?
data Foo
= A Int Double
| B Bool [Integer]
| C (Maybe String) Float
các A
, B
, và C
được gọi là nhà xây dựng dữ liệu; và đôi khi là nhà thầu giá trị. Nhưng tên chính xác cho:
- "hàng/thay thế": ví dụ:
B Bool [Integer]
; và - "trường/phần tử" của "hàng/thay thế": ví dụ: số
Double
trongA
hoặc số[Integer]
trongB
?
Tôi nghĩ rằng bạn muốn mô tả 'B: Bool -> [Integer] -> Foo' như các nhà xây dựng và kiểu của nó. 'Bool' và' [Integer] 'sẽ là đối số của nó và ví dụ: '[Số nguyên]' sẽ là một tham số hoặc đối số duy nhất. Nhưng tôi không chắc chắn nếu đây là những tên được chấp nhận chung. – nobody
Từ những gì tôi đã thấy, "các trường" là thuật ngữ chính xác. "Tham số" hoặc "đối số" chỉ được sử dụng khi thực sự * xây dựng *. – Nate
Tôi đoán tôi thường không cảm thấy cần phải đề cập đến những điều đó. Nó thường là đủ để chỉ đến "constructor C" hoặc "loại Foo". Bạn có một ví dụ điền vào câu trống mà bạn muốn đề cập đến những điều này? (Có lẽ những người trả lời sẽ chấp nhận thử thách khi sử dụng những thuật ngữ này một cách có ý nghĩa trong một câu.) –