Nói rằng tôi có như sau:Nhận tên trường của bản ghi Haskell dưới dạng danh sách các chuỗi?
data Rec = Rec {
alpha :: Int,
beta :: Double,
phi :: Float
}
sample = Rec 1 2.3 4.5
Tôi hiểu Template Haskell & các reify
chức năng có thể làm cho tôi tên trường của kỷ lục. Đó là:
print $(f sample) --> ["alpha", "beta", "phi"]
Cũng có một tuyên bố rằng điều này có thể được thực hiện mà không cần Mẫu Haskell. Ai đó có thể cung cấp một ví dụ thực hiện cho điều này có thể được thực hiện?
Bạn cũng có thể lấy tên trường mà không có mẫu Haskell. – augustss
@augustss: Làm cách nào? Một số phép thuật đen có thể gõ được? Dù bằng cách nào, hầu hết sử dụng một có thể đặt thông tin này sẽ là một phù hợp tuyệt vời cho mẫu Haskell. – delnan
@delnan Bạn có thể sử dụng 'Data.Data' hoặc bạn chỉ có thể lấy được' Hiển thị', hiển thị 'mẫu' và thực hiện phân tích cú pháp nhỏ của chuỗi đó. – augustss