data Color = HexColor Int | RGBColor Int Int Int | ColorString String deriving Show
data FontAttribute = Size Int | Face String | FontColor Color deriving Show
data Font = Font [FontAttribute] deriving Show
그래서 같은 하나를 만들 :
Font [Size 23,Face "Arial",Color (RGBColor 240 23 43)]
내 관심은 가지고있는 FontColor
데이터/값 생성자가 입력하는 것입니다 FontAttribute에는 Color 유형이 인수로 필요합니다. 즉, Color는 모든 종류의 태그에 대한 일반 유형 속성이며 특정 태그에는 특정 속성 하위 집합이 있습니다 (이 경우 글꼴에는 FontAttribute가 있으며 Size, Face 또는 FontColor 일 수 있음). 이것을 표현하는 명확한 방법이 있습니까, 아니면 구현 사운드입니까?
'Font'를 임의의 수와 조합 또는 'FontAttribute'로 설명하도록 만들 수 있습니까? 'Font [Face "Arial", Face "Impact"]'끔찍한 도움이되지는 않습니다 ... – delnan
네, 유효한 목록입니다. XHTML과 CSS에서도 동일한 작업을 수행 할 수 있습니다. 구현에 따라 다릅니다. 일반적으로 브라우저는 마지막 값을 사용합니다. 나는 유형의 계층에 대해 더 염려했다. –
그래서 FontColor 생성자와 독점적으로 사용되는 "Color"를 제한하고 싶습니까? 그것이 당신의 걱정입니까? 그런데 [FontAttribute] 주변에 괄호가 필요하지 않습니다. –