문자열 목록에 대한 진리 테이블을 만들려고했습니다. 말, 나는 목록 ["a","b"]
을 가지고 출력으로, 나는 일을 어떤 쉬운 방법이 있나요 [[("a",True),("b",True)], [("a",True),("b",False)], [("a",False),("b",True)], [("a",False),("b",False)]]
Haskell에서 사용자 지정 데이터 형식의 Gen
진실 테이블에서 해당 인스턴스의 각
data TableRow = [(String,Bool)]
로 정의 된 사용자 정의 데이터 유형 원하는 이? 지금까지 나는 아주 분명이
genRow :: [String] -> [TableRow]
genRow [] = []
genRow (x:xs) = ((makeRow x True) : genRow xs) ++
((makeRow x False) : genRow xs)
을하고있다, 이것은 확실히 내가 무엇을 기대 저를 포기하지 않습니다. makeRow
은 String
및 Bool
을 입력하고 TableRow
을 반환합니다.
이렇게하는 더 깨끗한 방법이 있습니까? 프로그램에 감사
'makeRow'은 무엇입니까 (새 라인은 가독성을 위해 추가)? –
카티 션 곱을 두 가지 목록으로 말하겠습니까? 목록에 대한 이해도를 알고 있습니까? – gspr
'데이터 TableRow = [(String, Bool)]'이 (가) 유효하지 않습니다. 데이터 생성자 이름이 필요합니다. –