필자는 요소 수나 내용을 모르는 간단한 튜플 (예 : DB에서 읽음)을 사용합니다. 예 : (String, Int, Int)
또는 (String, Float, String, Int)
입니다."임의"튜플 조작하기
모든 종류의 튜플을 취하고 모든 데이터를 "NIL"문자열로 바꾸는 일반 함수를 작성하고 싶습니다. "NIL"문자열이 이미있는 경우 변경하지 않아야합니다.
다시 예에 예정 : ("something", 3, 4.788)
는 튜플이 할 수있는 문제가되지 않습니다 때문에 어디서부터 시작 내가 분명히 아무 생각이 ("something else", "NIL", "NIL", "NIL")
발생한다 ("something", "NIL", "NIL")
("something else", "Hello", "NIL", (4,6))
발생한다 그것은 알려져있다. Template Haskell없이 원하는 결과를 얻을 수 있습니까?
첫 번째 항목은 홀로 남기를 원하지만 다른 모든 항목은''NIL ''이 되길 원합니까? – AndrewC
튜플이 올바른 데이터 유형입니까? 이 작업을 수행하는 몇 가지 방법이 있지만 데이터를 더 멋진 유형으로 만들면 훨씬 덜 어색 할 것입니다. 또한 첫 번째 요소에서 이와 같은 특별한 대우를 받기를 원합니까? – shachaf
SYB와 같은 제네릭 라이브러리를 사용하면 Template Haskell보다 더 나은 선택이 될 것입니다. user5402의 대답에 따라 HList를 봐야합니다. –